2009-06-03 11 views
8

Come faccio a fare in modo che Vim passi a una determinata scheda quando premo Alt + #? Per esempio, per arrivare alla terza scheda, avrei premuto Alt + 3 (come il comportamento in Firefox).Passa alla scheda specifica in Vim come in Firefox?

Edit: anche, come posso fare scheda Controllo + == gt, spostamento Control + + scheda == gT

risposta

8
:nmap <M-1> :tabnext 1<CR> 
:nmap <M-2> :tabnext 2<CR> 
etc. 

Vedere :h :tabnext. Nota che per impostazione predefinita puoi anche fare Ngt in modalità normale dove N è il numero della scheda che desideri (a partire da 1).

+0

Hm, questo in realtà non funziona per me ... Non so perché. Il consiglio di Ngt è carino però. – victor

+0

, , ecc., Sono in conflitto con i collegamenti dei tasti di gestione delle finestre sul mio sistema, ma a quanto pare funzionava correttamente. non è stato mappato e l'ho provato e ha funzionato. Che tipo di problema stai avendo? –

+0

Non sono sicuro ... semplicemente non finisce niente. Inoltre, non penso di avere nulla legato a quelle chiavi altrimenti non funzionerebbe neanche il collegamento di Firefox? Sono su Ubuntu. – victor

5

questo funziona per me (copiato e incollato dalla mia RC):

" Tab Control (others) 
map <A-1> 1gt 
map <A-2> 2gt 
map <A-3> 3gt 
map <A-4> 4gt 
map <A-5> 5gt 
map <A-6> 6gt 
map <A-7> 7gt 
map <A-8> 8gt 
map <A-9> 9gt 

anche ulteriormente la bontà:

map <C-Right> <ESC>:tabnext<CR> 
map <C-Left> <ESC>:tabprev<CR> 
map <C-t> <ESC>:tabnew<CR> 

Si consiglia di cambiare a Nmap come l'esempio di cui sopra per limitare la utilizzo un po 'meglio sono stato un po' pigro in questo senso.

dimenticato la sua modifica scheda successiva con Ctl-t potrebbe essere:

map <C-t> :tabnext<CR> 

non credo che la mappatura tabprevious è possibile in vim a causa del modo in cui gestisce i caratteri maiuscoli vedere:

http://www.nabble.com/Maping-Ctrl-Shift-s-problems-td22918941.html

per risparmiare un po di tempo ho speso caccia in giro quando ho voluto questo

+0

Non funziona per me. (I torto upvoted e Ora sono in grado di annullarla) Ho usato questo posto - mappa 1gt mappa 2GT mappa 3GT mappa 4GT mappa 5GT – mac

1

Ottenere questo per lavorare in urxvt dimostrato difficile. Alla fine ho optato per utilizzare le associazioni folowing:

:nnoremap <Esc>1 gt1 
:nnoremap <Esc>2 gt2 
:nnoremap <Esc>3 gt3 
:nnoremap <Esc>4 gt4 
:nnoremap <Esc>5 gt5 
:nnoremap <Esc>6 gt6 
:nnoremap <Esc>7 gt7 
:nnoremap <Esc>8 gt8 
:nnoremap <Esc>9 gt9 
:nnoremap <Esc>0 gt0 

Il problema era che Alt combinazioni di numeri vengono tenuti a fuggire numeri prefissati di default in rxvt. Originariamente Sono riuscito avendo la seguente nel mio ~/.vimrc di file:

:nnoremap <M-1> gt1 
:nnoremap <M-2> gt2 
... 

Questo è stato fatto per lavorare utilizzando il seguente a '~/.Xdefaults':

URxvt*meta8: true 

Questa forze rxvt per usare il 8 ° carattere bit quando viene premuto Alt, che è ciò che Vim usa per rilevare lo stato Alt. L'impostazione di questo nel file .Xdefaults consente di impostare l'ottavo bit. Tuttavia, questo causa problemi in altri programmi, come ad esempio irssi in esecuzione su screen, quindi la mia soluzione suggerita.

0

In Mac, è possibile utilizzare il numero cmd + per cambiare scheda. Quanto segue funziona bene.

map <D-1> 1gt 
map <D-2> 2gt 
map <D-3> 3gt 
etc... 
Problemi correlati