0

バッファが開いていない場合(デフォルトの:NERDTreeではなく):NERDTreeToggleが:NERDTreeFindのように動作するようにNERDTreeを構成することは可能ですか?

それができない場合、NERDTreeウィンドウの可視性をチェックし、開いている場合はウィンドウを閉じ、閉じている場合はNERDTreeFindを呼び出すことができるマッピング/小さなスクリプトを作成することは可能でしょうか?NERDTreeのドキュメントを調べて、NERDTreeウィンドウの可視性が開いているかどうかを確認しましたが、見つかりませんでした。

4

4 に答える 4

2

NERDTreeが開いているかどうかを区別するのに役立つ関数があります。

nerdtree#isTreeOpen()

:echom nerdtree#isTreeOpen()Nerdtreeを開いたり閉じたりしたときに、少しテストすることができます。

于 2013-02-19T18:20:06.753 に答える
2

let NERDTreeQuitOnOpen=1ファイルを選択したときにツリーを閉じるように設定し、検索用のマッピングを作成できます。

nmap <leader>p :NERDTreeFind<CR>
于 2013-02-19T18:28:25.817 に答える
2

私は今もVimの使い方を学んでいて、開いたときにNERDTreeToggleがNERDTreeFindを使用できるようにしたいという同じ願望を持っていました。掘り下げてグーグルした後、以下の簡単なVimスクリプトを書いてみましたが、うまくいったようです。:]

function! ToggleNERDTreeFind()
    if g:NERDTree.IsOpen()
        execute ':NERDTreeClose'
    else
        execute ':NERDTreeFind'
    endif
endfunction

そして、上記の関数をショートカットキーにバインドして、NERDTreeの検索と終了の両方に使用します。お役に立てれば。

nnoremap <leader>f :call ToggleNERDTreeFind()<CR>
于 2015-07-25T20:54:50.913 に答える
1

現在のバッファが空の場合にも機能するthomaswhyyouによって提供される機能の小さな改善:

function! ToggleNERDTreeFind()
    if g:NERDTree.IsOpen()
        execute ':NERDTreeClose'
    else
      if bufname('%') == ''
          execute ':NERDTree'
      else
          execute ':NERDTreeFind'
      endif
    endif
endfunction
于 2022-02-20T18:03:07.800 に答える