ファイルを入力またはダブルクリックしたときに、新しいタブでファイルを開くようにしたい。ショートカットがあることは知ってtいますが、常に新しいタブでファイルを開き、Enterキーを押す方が快適です。
7 に答える
■現在カーソルの下にあるファイルを、垂直方向に分割された新しいウィンドウで開きます。tを使用して、新しいタブで開きます。
追加してみてください
let NERDTreeMapOpenInTab='\r'
また
let NERDTreeMapOpenInTab='<ENTER>'
あなたに.vimrc
。
https://github.com/Nopik/vim-nerdtree-direnterプラグインも追加することをお勧めします。これにより、ディレクトリを開く問題が修正されるため、ディレクトリノードにEnterキーを押すと、新しいタブが開かずに展開/折りたたまれます。
NerdTreeヘルプのセクションNERDTreeCustomOpenArgsで説明されているように、このオプションを使用して、ファイルとディレクトリのオープン動作を制御できます。次のステートメントをあなたの.vimrc
:に追加します。
let NERDTreeCustomOpenArgs={'file':{'where': 't'}}
これにより、この場合、新しいタブのファイルのみが開かれるようになります。他のすべての組み合わせは、ヘルプで見つけることができます。
次のマップを使用してタブトラバースを実行します。
nnoremap <C-l> gt
nnoremap <C-h> gT
これをプラグインに追加します。次のようなファイルに追加する必要があります~/.vim/nerdtree_plugin/mymapping.vim
。正確な場所は、vimに使用するプラグインマネージャーによって異なります。例:Pluggedの場合~/.vim/plugged/nerdtree/nerdtree_plugin/mymapping.vim
このコードは、ディレクトリを展開/折りたたむだけで、新しいタブでファイルを開くためのEnterキーのマッピングを追加します。新しいタブの場合は、NERDTreeもミラーリングされるため、タブ間で共有できます。
call NERDTreeAddKeyMap({
\ 'key': '<CR>',
\ 'scope': "Node",
\ 'callback': 'OpenInNewTab',
\ 'quickhelpText': 'open node' })
" FUNCTION: s:openInNewTab(target) {{{1
function! OpenInNewTab(node)
if a:node.path.isDirectory
call a:node.activate()
else
call a:node.activate({'where': 't'})
call g:NERDTreeCreator.CreateMirror()
wincmd l
endif
endfunction
特にダブルクリックイベントの場合、NERDtreeソースコード(ここに投稿)を少し変更することで(のみ?)可能です。