我想在输入或双击时在新标签页中打开文件。我知道有 t 快捷方式,但我总是在新标签页中打开一个文件,输入对我来说更加舒适。
答案 0 :(得分:23)
尝试添加
let NERDTreeMapOpenInTab='\r'
或
let NERDTreeMapOpenInTab='<ENTER>'
到.vimrc
。
HTH
答案 1 :(得分:16)
s 将在新的垂直拆分窗口中打开光标下方的当前文件。 使用 t 在新标签页中打开。
答案 2 :(得分:7)
您可能还想添加https://github.com/Nopik/vim-nerdtree-direnter插件 - 它修复了目录打开问题,因此在目录节点上输入只会展开/折叠,而不是打开新标签。
答案 3 :(得分:5)
如NerdTree帮助的 NERDTreeCustomOpenArgs 部分中所述,您可以使用此选项来控制文件和目录的打开行为。将以下语句添加到您的.vimrc
:
let NERDTreeCustomOpenArgs={'file':{'where': 't'}}
在这种情况下,这确保仅打开新选项卡中的文件。其他所有组合都可以在帮助中找到。
答案 4 :(得分:2)
我使用以下地图做标签遍历:
nnoremap <C-l> gt
nnoremap <C-h> gT
答案 5 :(得分:2)
将此添加到插件中。需要将其添加到文件中,例如:~/.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
答案 6 :(得分:0)
对于双击事件,具体来说,通过稍微更改NERDtree源代码(在此处发布)可以(仅?):