जवाबों:
ठीक है, पिछला संस्करण थोड़ा सा जटिल था, लेकिन आप जिस उत्तर की तलाश कर रहे हैं, वह आपकी ~/.vimrc
फ़ाइल में नीचे की पंक्ति को जोड़ना है । यह विम को बताता है कि आप विम शुरू होने पर चलाने के लिए एक कमांड सेटअप करना चाहते हैं, लेकिन चूंकि यह विभिन्न प्लगइन्स को लोड किए जाने पर निर्भर करता है, आप इसे तब तक नहीं चलाना चाहते जब तक सभी इनिशियलाइज़ेशन समाप्त न हो जाएं:
autocmd VimEnter * NERDTree
यदि, हालांकि, आप इस तथ्य से नाराज हैं कि कर्सर हमेशा एनईआरडीट्री विंडो में शुरू होता है, तो आप एक दूसरा ऑटोकॉमैंड जोड़ सकते हैं जो कर्सर को मुख्य विंडो में ले जाएगा:
autocmd VimEnter * NERDTree
autocmd VimEnter * wincmd p
/.vim/after/plugin/NERD_tree.vim
स्क्रिप्ट में स्थानांतरित करना चाहिए , ताकि यह बंद किए गए प्लगइन्स के साथ निष्पादित करने का प्रयास न करे।
autocmd VimEnter * NERDTree | wincmd p
autocmd VimEnter * NERDTree
और फिर autocmd VimEnter * if argc() | wincmd p | endif
। इस तरह, कर्सर NERDTree पर है यदि मैंने एक विशिष्ट फ़ाइल नहीं खोली है, लेकिन अगर मैंने कोई फ़ाइल चुनी तो वह मुख्य विंडो में शुरू होती है।
क्या आप विंडोज या यूनिक्स-वाई सिस्टम पर हैं?
यदि आप यूनिक्स-वाई सिस्टम पर हैं तो आप प्लग इन करते हैं ~/.vim/plugin
। यहाँ मेरा प्लगइन निर्देशिका कैसा दिखता है:
$ ls ~/.vim/plugin
NERD_tree.vim scratch.vim scratchfind.vim
इसके बाद वह तुरंत काम करना शुरू कर देता है। इस तरह से चलने की कोशिश करें:
$ vim .
इसे NERD ट्री दृश्य में वर्तमान निर्देशिका को खोलना चाहिए।
यदि आप विंडोज पर हैं तो आप यहां प्लगइन्स लगाएं: C:\Program Files\Vim\vim70\plugin
जब आप vim शुरू करते हैं तो NERDTree को स्वचालित रूप से लोड करने के लिए, इसे कमांड लाइन से इस तरह से चलाएं:
$ vim -c "NERDTree" some_file.txt
आप इसमें अपने लिए एक उपनाम निर्धारित कर सकते हैं .bashrc
:
alias vimt='vim -c "NERDTree" $1'
अब जब भी आप vimt
(इसके बजाय vim
) दौड़ेंगे तो आप विंडो के बाईं ओर NERDTree भी खोलेंगे।
आप अपने .vimrc
तरीके से NERDTree शुरू करने के लिए एक शॉर्टकट कुंजी भी जोड़ सकते हैं :
function OpenNERDTree()
execute ":NERDTree"
endfunction
command -nargs=0 OpenNERDTree :call OpenNERDTree()
nmap <ESC>t :OpenNERDTree<CR>
अब जब आप हिट करेंगे Esc
तो t
यह NERDTree को खोलेगा।
alias vimt='vim -c "NERDTree" $1'
प्रति NERDTree निर्देश तुम सिर्फ उपयोग कर सकते हैं pathogen.vim । इसे स्थापित करें:
mkdir -p ~/.vim/autoload ~/.vim/bundle; \
curl -Sso ~/.vim/autoload/pathogen.vim \
https://raw.github.com/tpope/vim-pathogen/master/autoload/pathogen.vim
इसे अपने .vimrc में जोड़ें:
execute pathogen#infect()
उसके बाद NERDTree स्थापित करें:
cd ~/.vim/bundle
git clone https://github.com/scrooloose/nerdtree.git
और यदि आप विम शुरू होने पर स्वचालित रूप से एक NERDTree को खोलना चाहते हैं, तो अपने .vimrc में निम्न जोड़ें:
autocmd vimenter * NERDTree
यहां के जवाबों में एक मामूली समस्या है।
यदि आप vim --noplugin
ऐसी स्क्रिप्ट का उपयोग करते हैं या उसका उपयोग करते --noplugin
हैं जो vimpager जैसे मोड का उपयोग करती है , तो यह इस त्रुटि का कारण बनेगी :
Error detected while processing VimEnter Auto commands for "*":
E492: Not an editor command: NERDTree
इससे बचने के लिए, ~/.vim/after/plugin/NERD_tree.vim
इसके बजाय कमांड डालें :
autocmd VimEnter * NERDTree
और यह परीक्षण करने के लिए भी एक अच्छा विचार हो सकता है कि NERDtree
उपलब्ध है, अर्थात:
if exists("loaded_nerd_tree")
autocmd VimEnter * NERDTree
endif
export MANPAGER='col -bx | mvim -c ":set ft=man nonu nolist" -c ":autocmd!" -M -R - > /dev/null 2>&1'
" NERD Tree
nmap <silent> <special> <F2> :NERDTreeToggle<RETURN>