2010-10-22 18 views

risposta

10

Creare il file ~/.vim/ftplugin/nerdtree.vim con i seguenti contenuti, quindi non sarà necessario modificare NERDTree stessa:

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>' 
+0

Grazie, funziona :) – kfl62

+1

@Zyx non funziona per me. Ho ancora il file aperto in una nuova scheda a sinistra quando prespiro + T. Questo è quello che ho: http://pastebin.com/kri7Byvb – ziiweb

0

Suggerisco di modificare il plug-in e rimapparlo a :tablast prima dello :tabnew.

+0

Non è possibile sovrascrivere i mapping in '.vimrc'? – kfl62

+1

Non sono sicuro in quale ordine verranno letti gli script. ': scriptnames' ti dirà. Se '.vimrc' viene dopo NERDTree, puoi rimapparlo nel tuo .vimrc ovviamente :) – Benoit

+0

No' .vimrc' viene prima :(e io odio davvero modificare i plugin ... – kfl62

6

Ecco un autocmd general purpose per l'apertura di tutte le nuove schede alla fine. Funziona anche con NERDTree.

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

Aggiungere il seguente al vostro .vimrc

autocmd BufNew * execute ":tabmove99" 

Questo sarà sempre posizionare le schede, aperto di recente a posizione 99 alla destra.

Problemi correlati