2009-06-03 16 views
8

¿Cómo hago que Vim cambie a una determinada pestaña cuando presiono Alt + #? Por ejemplo, para llegar a la tercera pestaña, presiono Alt + 3 (como el comportamiento en Firefox).¿Cambiar a una pestaña específica en Vim como en Firefox?

Editar: También, ¿cómo puedo hacer pestaña Control + == gt, cambio de control + + tab == gT

Respuesta

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

Ver :h :tabnext. Tenga en cuenta que de manera predeterminada también puede hacer Ngt en modo normal, donde N es el número de la pestaña que desea (comenzando con 1).

+0

Hm, esto realmente no funciona para mí ... No estoy seguro de por qué. La punta Ngt es agradable. – victor

+0

, etc. entran en conflicto con las asignaciones de teclas del administrador de ventanas en mi sistema, pero parece que funciona de lo contrario. no fue asignado y lo intenté y funcionó. ¿Qué tipo de problema tiene? –

+0

No estoy seguro ... simplemente no termina haciendo nada. Tampoco creo que tenga nada vinculado a esas teclas; de lo contrario, ¿los accesos directos de Firefox tampoco funcionarían? Estoy en Ubuntu. – victor

5

Esto funciona para mí (copiado y pegado de mi 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 

también más bondad:

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

Es posible que desee cambiar a Nmap como el ejemplo anterior para restringir la uso un poco mejor He sido un poco vago en ese sentido.

omitido su edición siguiente pestaña con Ctrl-t sería:

map <C-t> :tabnext<CR> 

no creo que el mapeo tabprevious es posible en vim, debido a la forma en que maneja los caracteres en mayúsculas ver:

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

para ahorrar algo de tiempo que pasé torno a la caza cuando quería este

+0

No funciona para mí. (I erróneamente upvoted y ahora soy incapaz de deshacer) He utilizado este lugar - mapa 1GT mapa 2 GT mapa 3GT mapa 4GT mapa 5gt – mac

1

conseguir que esto funcione en urxvt resultado difícil. Al final me decidí por el uso de los enlaces 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 

El problema era que las combinaciones de números Alt quedan obligados a escapar de los números prefijados por defecto en rxvt. Originalmente he conseguido haciendo que el siguiente en mi ~/.vimrc archivo:

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

Esto se hace para trabajar con el siguiente a '~/.Xdefaults':

URxvt*meta8: true 

Este rxvt fuerzas para utilizar el octavo bit de carácter cuando se presiona Alt, que es lo que Vim usa para detectar el estado Alt. Establecer esto en su archivo .Xdefaults permite configurar el octavo bit. Sin embargo, esto causa problemas en otros programas, como irssi corriendo por screen, de ahí mi solución sugerida.

0

En Mac, es posible que desee utilizar el número cmd + para cambiar de pestaña. Lo siguiente funciona bien.

map <D-1> 1gt 
map <D-2> 2gt 
map <D-3> 3gt 
etc... 
Cuestiones relacionadas