【发布时间】:2015-09-24 22:38:18
【问题描述】:
在 NERDTree ShiftT 在新选项卡中打开文件,但选项卡位于打开 NERDTree 的选项卡之后。
标签页末尾可以打开新标签页吗?
【问题讨论】:
标签: vim
在 NERDTree ShiftT 在新选项卡中打开文件,但选项卡位于打开 NERDTree 的选项卡之后。
标签页末尾可以打开新标签页吗?
【问题讨论】:
标签: vim
使用以下内容创建文件~/.vim/ftplugin/nerdtree.vim,然后您将不必编辑NERDTree本身:
if exists('b:haveRemappedT')
finish
endif
let b:haveRemappedT=1
let s:oldmap=maparg('T', 'n')
function! s:LastTab()
let tab=tabpagenr()
tabnext
execute "tabmove ".tabpagenr('$')
execute "tabn ".tab
endfunction
execute 'nnoremap <buffer> T '.s:oldmap.':call <SID>LastTab()<CR>'
【讨论】:
这是一个通用的自动命令,用于在最后打开所有新标签。它也适用于 NERDTree。
" move tabs to the end for new, single buffers (exclude splits)
autocmd BufNew * if winnr('$') == 1 | tabmove99 | endif
【讨论】:
将以下内容添加到您的 .vimrc 中
autocmd BufNew * execute ":tabmove99"
这将始终将新打开的选项卡定位在右侧的位置 99。
【讨论】:
我建议你编辑插件并在:tabnew之前将其重新映射到:tablast。
【讨论】:
.vimrc中的映射吗?
:scriptnames 会告诉你。如果.vimrc 出现在 NERDTree 之后,您当然可以在 .vimrc 中重新映射它 :)
:scriptnames :) 谢谢