मैं एक निजी मोड में विम को आसानी से शुरू करने में सक्षम होना चाहता हूं। चलिए एक निजी मोड को परिभाषित करते हैं जो कमांड के इस सेट का उपयोग करता है:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
मुझे बताएं कि क्या आप निजी मोड के लिए उपयुक्त किसी अतिरिक्त कमांड के बारे में सोच सकते हैं।
मुद्दा यह है कि इस सेटअप के साथ विम को शुरू करने के लिए मैं कोई छोटा और आसान तरीका नहीं सोच सकता।
यहाँ कुछ विचार दिए गए हैं:
.Vimrc के बजाय .vimrcpStreet को लोड करें
आप बस सभी आवश्यक आदेशों को .vimrcpStreet में डाल सकते हैं और विम को इस तरह शुरू कर सकते हैं:
vim -u .vimrcprivate
एक
Private()
फ़ंक्शन को परिभाषित और कॉल करेंएक अन्य विचार अपने .vimrc पर इस तरह एक कोड जोड़ें:
function Private() " set of commands here endfunction
और फिर आप इस तरह एक निजी मोड में विम शुरू करने में सक्षम हैं:
vim -c 'call Private()'
अपने आदेशों की सेटिंग को ट्रिगर करने के लिए एक चर का उपयोग करें
यह दूसरे समाधान के समान है। बस जोड़ दो
if exists('privatemode') " set of commands here endif
अपने .vimrc और फिर Vim का उपयोग करना शुरू करें
vim -c 'let privatemode=1'
जो न तो स्मार्ट है और न ही छोटा है।
अपने .bashrc (या किसी अन्य के लिए एक उपनाम जोड़ें। * आर सी फ़ाइल अपने शेल का उपयोग कर रहा है)
उदाहरण के लिए:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
जो भयानक है। मुझे यह पसंद नहीं है।
एक पर्यावरण चर का उपयोग करें
बस चलाते हैं
VIM_PRIVATE=1 vim
और जोड़ते हैंif $VIM_PRIVATE " set of commands here endif
अपने .vimrc को।
कुछ जादू ( इस धागे में कार्पेटस्मोकर की टिप्पणी से )
कार्पेटस्मोकर इस टिप्पणी में कहते हैं कि
मैं एक अलग vimrc फ़ाइल का उपयोग करने की अनुशंसा नहीं करूँगा, सरल कारण के लिए> कि इसे भूलना इतना आसान है। इस आटोक्मड की तरह कुछ:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
आपके लिए जादू करना चाहिए, और इसे भूलना असंभव है।हालाँकि मुझे नहीं पता कि यह जादू कैसे काम करता है ।
क्या आपको कोई विचार आया है?
सही समाधान होगा vim -private
या vim +Private
फिर:
- मुझे पूरा यकीन है कि आप जैसे कस्टम कमांड लाइन विकल्प नहीं जोड़ सकते हैं
-private
। - जब यह आता है
+Private
मैं इसे ऑनलाइन खोजने में असमर्थ था।
vim -Nu .vimrcprivate
।
alias vimprivate='vim -u .vimrcprivate'
आदि
v:progname == "vimp"
और यदि सही है, तो अपनी निजी-मोड सेटिंग्स को निष्पादित करें। देखते हैं :help v:progname
।
command! Private set history=0 nobackup secure ...
और फिर इसे शेल से कॉल करेंvim +'Private'
। आपके द्वारा बताए गए अंतिम ऑटोकॉमैंड के बारे में, जब एक बफर पढ़ा जाता है, तो यह परीक्षण करता है कि'cryptmethod'
विकल्प का मूल्य , या'cm'
लघु संस्करण के लिए, गैर खाली है। यह विकल्प बफर को एन्क्रिप्ट करने के लिए उपयोग की जाने वाली एन्क्रिप्शन विधि को नियंत्रित करता है जब यह पूर्व कमांड वाली फ़ाइल में लिखा जाता है:X
। यदि विकल्प खाली नहीं है, तो ऑटोकॉमैंड विभिन्न विकल्पों को सेट करता है।