मैं एकल कीस्ट्रोक का उपयोग करके NERDTree (टॉगल NERDTree दृश्य) को कैसे खोल और बंद कर सकता हूँ?


22

कभी-कभी अपने वर्कफ़्लो के दौरान, मैं चलते-फिरते किसी फ़ाइल को खोलना / खोजना चाहता हूँ। मैं NERDTree को खोलने और बंद करने के लिए एक एकल कुंजी (F6) कहना चाहता हूं (यानी। मैं NERDTree को देखना चाहता हूं)। इसके अलावा, मैं NERDTree को अपने टॉगल किए गए दृश्य में छिपी हुई फ़ाइलों और फ़ोल्डरों को प्रदर्शित करना चाहूंगा और यदि संभव हो तो संपादन के लिए एक फ़ाइल खोलने पर मैं इसे स्वचालित रूप से बंद करना चाहूंगा। धन्यवाद !


1
नमस्ते, साइट पर आपका स्वागत है! कृपया ध्यान रखें कि विभिन्न बिंदुओं के साथ एक के बजाय कई प्रश्न पूछना बेहतर है। यानी यहां आप छिपी हुई फ़ाइलों और फ़ोल्डरों के बारे में एक और सवाल पूछ सकते हैं, क्योंकि मुख्य सवाल निश्चित रूप से टॉगल के बारे में है (जिसे आपको पहले से ही जवाब मिल गया है)। इसके अलावा प्लगइन प्रलेखन को पढ़ने और घंटों में खर्च करने के लिए मत भूलना :h;)
nobe4

जवाबों:


29

अपने vimrcऐड में

nmap <F6> :NERDTreeToggle<CR>

<F6>आप मानचित्र बनाना चाहते हैं वह कुंजी कहां है।


महान काम करता है लेकिन मैं एक ही समय में छिपी हुई फ़ाइलों और फ़ोल्डरों को कैसे दिखाता हूं?
bad_potato

3
@evil_potato shift + iछिपी हुई फ़ाइलों को टॉगल करेगा। यदि आप डिफ़ॉल्ट व्यवहार के रूप में सेट करना चाहते हैं let NERDTreeShowHidden=1तो अपने.vimrc
Atropo

3
जब संपादन जोड़ने के लिए एक फ़ाइल खोलने @evil_potato को स्वचालित रूप से बंद करने के लिए let NERDTreeQuitOnOpen=1अपने को.vimrc
dNitro

9

NerdTree खोलने के लिए:

:NERDTreeFocus

Beetween nerdtree स्विच करने के लिए और फ़ाइल खोली गई विंडो:

ctrl + ww (double w)

या

ctrl + w + (h/j/k/l)

NerdTree को बंद करने के लिए (nddtree विंडो में):

:q

3

यह वही करेगा जो आपने पूछा है:

nnoremap <silent> <expr> <F6> g:NERDTree.IsOpen() ? "\:NERDTreeClose<CR>" : bufexists(expand('%')) ? "\:NERDTreeFind<CR>" : "\:NERDTree<CR>"

1

यदि आप NERDTree विंडो बंद करना चाहते हैं तो सुनिश्चित करें कि आप NERDTree मेनू के अंदर हैं। ctrl+wफिर :qआप NERDTree विंडो को बंद करने के लिए टाइप करके विंडो को स्विच कर सकते हैं ताकि आप अपने कोड को एडिट करने के लिए विंडो के साथ रह जाएंगे।


यह वही है जो मैं देख रहा था, लेकिन इसे फिर से खोलने के बारे में क्या, मुझे एक और कुंजी मैप करने की आवश्यकता है या क्या कोई मूल शॉर्टकट है जो एनईआरडीट्री को फिर से खोलेगा?
डेसबेक

0

निम्न फ़ंक्शन खुले netrw बफ़र्स को ट्रैक करता है और Lexploreतदनुसार कॉल करता है । इसे अपने साथ जोड़ें .vimrcऔर अपनी मैपिंग कुंजी चुनें।

let g:NetrwIsOpen=0

function! ToggleNetrw()
    if g:NetrwIsOpen
        let i = bufnr("$")
        while (i >= 1)
            if (getbufvar(i, "&filetype") == "netrw")
                silent exe "bwipeout " . i 
            endif
            let i-=1
        endwhile
        let g:NetrwIsOpen=0
    else
        let g:NetrwIsOpen=1
        silent Lexplore
    endif
endfunction

noremap <silent> <F2> :call ToggleNetrw()<CR>

4
क्या आप बता सकते हैं कि यह उस आदेश से बेहतर कैसे है NERDTreeToggleजो नर्डट्री के साथ आता है?
statox

@statox - विचार एकल कुंजी (या शायद दो कुंजी संयोजन) के साथ खोलने का है - टाइपिंग के बजाय ":" + "N" + "E" + "R" + "D" + "T" + "r" + "ई" + "ई" और हिट Enter। वास्तव में मैं अभी के बाद क्या हूँ :)
पेशो hristov

1
@peshohristov यदि लक्ष्य कीस्ट्रोक्स की संख्या को कम करना है तो मुझे लगता nnoremap <single-key> :NERDTreeToggle<CR>है कि चाल की रेखाओं में एक मानचित्रण है , यही कारण है कि मैंने ओपी को उनके उत्तर की उपयोगिता पर अधिक विवरण देने के लिए कहा।
प्रतिमा stat
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.