tを押すか、NERDTreeですべてのタブでNERDTreeを開くことは可能Tですか?はいの場合、どのように行いますか?
7 に答える
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror
編集: 上記のコマンドは、NERDTree のバッファーに新しいタブを開くようです。代わりに、以下のコメントでwejrowskiが述べたようにこれを使用します。
autocmd BufWinEnter * NERDTreeMirror
これを行い、さらにいくつかの機能を追加する vim プラグインを作成しました (つまり、すべてのツリーを同期させ、「NERD_tree_1」などのキャプションではなく、意味のあるタブ キャプションを保証します)。
Github にあります: https://github.com/jistr/vim-nerdtree-tabs
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror
autocmd VimEnter * wincmd w
これは、編集しようとしているファイルに直接カーソルを置いてすばやく編集できるため、Dustin のものよりも少し優れています。元の例のダスティンに感謝します^^
これはおそらく最善の方法ではありませんが、plugin/NERDTree.vim を編集してこれを変更すると:
exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>"
これに:
exec "nnoremap <silent> <buffer> ". g:NERDTreeMapOpenInTab ." :call <SID>openInNewTab(0)<cr>:NERDTree<cr>"
NERDTree ビューの 't' のバインドを変更して、最初にファイルを開き、次に NERDTree を開きます。NERDTree ビューは同期しないことに注意してください。
この問題は、公式リポジトリの Readme ファイルで実際に言及されており、 NERDTree を自動的に開くことに関連する 3 つの状況が含まれています。
vim の起動時に NERDTree を自動的に開くにはどうすればよいですか?
これをvimrcに貼り付けます:autocmd vimenter * NERDTree
ファイルが指定されていない場合、vim の起動時に NERDTree を自動的に開くにはどうすればよいですか?
これをvimrcに貼り付けます:
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif
注: vim を Plain で起動しますvim
。vim .
ディレクトリを開くときにvimが起動したときにNERDTreeを自動的に開くにはどうすればよいですか?
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif
このウィンドウはタブ固有です。つまり、タブ内のすべてのウィンドウで使用されます。このトリックは、最初にファイルを選択したときに NERDTree が非表示になるのも防ぎます。