web-dev-qa-db-ja.com

「すべて」タブでNERDTreeを自動で開く

を押してすべてのタブでNERDTreeを開くことは可能ですか? t または T NERDTreeで、もしそうなら、どうやって?

36
tech.kapil

これはおそらく最善の方法ではありませんが、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ビューは同期されないことに注意してください。

6
Rytmis

私はこれを行うvimプラグインを作成し、いくつかの優れた機能を追加しました(つまり、すべてのツリーを同期させ、意味のあるタブキャプションを保証します-'NERD_tree_1'などのキャプションではありません)。

これはGithubにあります: https://github.com/jistr/vim-nerdtree-tabs

62
autocmd VimEnter * NERDTree
autocmd BufEnter * NERDTreeMirror

autocmd VimEnter * wincmd w

これは、迅速な編集のために編集しようとしているファイルにカーソルを直接置くため、ダスティンのものより少し優れています。オリジナルの例についてはdustinに感謝します^^

40
droope

より良い解決策は、コマンドライン引数が設定されていない場合にのみNERDTreeを開くことです。

" Open NERDTree in new tabs and windows if no command line args set autocmd VimEnter * if !argc() | NERDTree | endif autocmd BufEnter * if !argc() | NERDTreeMirror | endif

NERDTreeは、たとえばあなたがgit commitまたは似たようなもの。

6
shi

それを切り替えるのはどうですか。

" in .vimrc
" NERDTree, Use F3 for toggle NERDTree
nmap <silent> <F3> :NERDTreeToggle<CR>

OSXでは、fn-F3を押してNERDTreeを切り替えるだけです。

4
shin

この問題は実際には 公式リポジトリの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は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が非表示にならないようにします。

0
千木郷