NERDTree'i (NERDTree görünümünü değiştir) tek bir tuşa basarak nasıl açabilirim ve kapatabilirim?


22

Bazen iş akışım sırasında hareket halindeyken bir dosyayı açmak / aramak isteyebilirim. NERDTree'yi (yani NERDTree görünümünü açmak ve kapatmak için) açmak ve kapatmak için tek bir anahtarı (F6 diyelim) eşlemek istiyorum. Ayrıca, NERDTree'nin gizli dosya ve klasörleri geçişli görünümünde görüntülemesini istiyorum ve mümkünse düzenleme için bir dosyayı açtığımda otomatik olarak kapanmasını da istiyorum. Teşekkürler !


1
Merhaba, siteye hoş geldiniz! Farklı noktalara sahip sorular yerine birden çok soru sormanın daha iyi olacağını lütfen unutmayın. yani burada gizli dosya ve klasörlerle ilgili başka bir soru sorabilirsiniz, çünkü ana soru kesinlikle geçişle ilgilidir (zaten bir cevabınız var). Ayrıca eklenti belgelerini okumayı ve saatlerce harcamayı unutmayın :h;)
nobe4

Yanıtlar:


29

Senin içinde vimrceklenti

nmap <F6> :NERDTreeToggle<CR>

<F6>eşlemek istediğiniz anahtar nerede .


Harika çalışıyor ancak aynı anda gizli dosya ve klasörleri nasıl gösterebilirim?
evil_potato

3
@evil_potato shift + igizli dosyaları değiştirir. Varsayılan bir davranış olarak ayarlamak istiyorsanız let NERDTreeShowHidden=1,.vimrc
Atropo

3
@evil_potato Düzenlemek let NERDTreeQuitOnOpen=1üzere bir dosyayı açtığınızda otomatik olarak kapatmak için ekleyin.vimrc
dNitro

9

NerdTree'yi açmak için:

:NERDTreeFocus

Nerdtree ve dosya açılmış pencereler arasında geçiş yapmak için:

ctrl + ww (double w)

veya

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

NerdTree'yi (nerdtree penceresinde) kapatmak için:

:q

3

Bu tam olarak istediğini yapardı:

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

1

NERDTree penceresini kapatmak istiyorsanız, NERDTree menüsünün içinde olduğunuzdan emin olun. NERDTree penceresini kapatmak için tuşlarını kullanarak pencereleri değiştirebilir ve ctrl+wyazabilirsiniz :q, böylece kodunuzu düzenlemek için pencereniz kalır.


Bu tam olarak aradığım şeydi, ancak tekrar açmaya ne dersim, başka bir anahtarı eşlemem mi gerekiyor yoksa NERDTree'yi tekrar açacak yerel bir kısayol var mı?
Deesbek

0

Aşağıdaki fonksiyon açık netrw tamponlarını izler ve Lexplorebuna göre çağrı yapar . Kendinize ekleyin .vimrcve eşleme anahtarınızı seçin.

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
NERDTreeToggleNerdTree ile gelen komuttan daha iyi olduğunu açıklayabilir misiniz ?
statox

@statox - fikir, ":" + "N" + "E" + "R" + "D" + "T" + "r" yazmak yerine tek bir tuşla (veya muhtemelen iki tuş kombinasyonu) açmaktır + "e" + "e" tuşlarına basın Enter. Şu anda tam olarak ne olduğumu :)
pesho hristov

1
@peshohristov Amaç tuş vuruşlarının sayısını azaltmaksa, sanırım çizgilerdeki bir haritalama nnoremap <single-key> :NERDTreeToggle<CR>hile yapar, bu yüzden OP'den cevaplarının yararlılığı hakkında daha fazla ayrıntı vermesini istedim.
statox
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.