NERDTree在新标签中打开,作为gvim中的最后一个标签?

时间:2010-10-22 16:10:38

标签: vim

在NERDTree中 Shift T 在新标签中打开文件,但标签位于打开NERDTree的标签之后。

可以在标签的末尾打开新标签吗?

4 个答案:

答案 0 :(得分:10)

使用以下内容创建文件~/.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>'

答案 1 :(得分:6)

这是一个用于在最后打开所有新标签的通用autocmd。它也适用于NERDTree。

" move tabs to the end for new, single buffers (exclude splits)
autocmd BufNew * if winnr('$') == 1 | tabmove99 | endif

答案 2 :(得分:1)

将以下内容添加到.vimrc

autocmd BufNew * execute ":tabmove99"

这将始终将新打开的标签放在右侧的位置99处。

答案 3 :(得分:0)

我建议您修改插件并在:tablast之前将其重新映射到:tabnew