2010-10-22 17 views

Répondre

10

Créez le fichier ~/.vim/ftplugin/nerdtree.vim avec le contenu suivant, alors vous ne devrez pas modifier NERDTree lui-même:

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

Merci, ça marche :) – kfl62

+1

@Zyx cela ne fonctionne pas pour moi. Je reçois toujours le fichier ouvert dans un nouvel onglet sur la gauche quand je pres shift + T. C'est ce que j'ai: http://pastebin.com/kri7Byvb – ziiweb

0

Je vous suggère de modifier le plugin et de le remapper à :tablast avant :tabnew.

+0

Impossible d'écraser les mappages dans '.vimrc'? – kfl62

+1

Je ne suis pas sûr dans quel ordre les scripts seront lus. ': scriptnames' vous le dira. Si '.vimrc' vient après NERDTree, vous pouvez le remapper dans votre .vimrc bien sûr :) – Benoit

+0

Aucun' .vimrc' vient en premier :(et je déteste vraiment modifier les plugins ... – kfl62

6

est ici dans un but général autocmd pour ouvrir tous les nouveaux onglets à la fin. Cela fonctionne aussi avec NERDTree.

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

Ajouter ce qui suit à votre .vimrc

autocmd BufNew * execute ":tabmove99" 

Cela positionnera toujours les onglets ouverts récemment à l'emplacement 99 à droite.