2012-07-30 16 views
5

Idealmente, me gustaría <A-left> para ejecutar :tabmove -1 y <A-right> para ejecutar :tabmove +1. Sin embargo, cuando puseAsignación de Alt + izquierda | derecha para mover las pestañas

nnoremap <A-left> :tabmove -1<cr> 
nnoremap <A-right> :tabmove +1<cr> 

en mi .vimrc y trato o, pitidos vim y se mueve mi cursor un carácter más en la dirección presioné. Sin embargo, escribir :tabmove -1<cr> directamente en el modo de comando da el efecto deseado. ¿Cómo puedo arreglar esto? Gracias por adelantado.

+1

no puedo reproducir el efecto deseado usando ':' tabmove -1 , Obtuve E488, sin embargo, intente cambiar '' a '' y vea si eso funciona para usted. Lo mismo con ''. –

+0

Gracias @RandyMorris, Ingo a continuación sugiere una solución similar. –

Respuesta

6

Debido a la forma en que se maneja la entrada del teclado internamente, lamentablemente no es posible hoy en la mayoría de los terminales, pero debería funcionar en GVIM. Algunas combinaciones de teclas, como Ctrl + no alfabético no pueden ser mapeados y Ctrl + letra vs Ctrl +Shift + carta no se pueden distinguir. Este es un punto de dolor conocido y el tema de varias discusiones sobre vim_dev y el canal de IRC#vim.

Como solución alternativa, utilice distintas teclas, p. Ej. <Leader><Left>/<Leader><Right>.

+0

Bueno saber. Lo tendré en cuenta para el futuro. ¡Gracias! –

8

de inicio mediante la visualización del código de la llave de su terminal está enviando a vim:

$ sed -n l 
^[[1;9D 

En el ejemplo anterior, me encontré con el comando sed y presionó Alt + Izquierda.

La ^[[1;9D es la secuencia escapada que se envía a vim, por lo que podemos utilizarla para nuestro mapeo.

Agregue esto a su .vimrc

map <Esc>[1;9D :tabn<CR> 

Ahora podemos cambiar entre pestañas vim utilizando Alt + Izquierda

+0

Esta es realmente la respuesta correcta que funciona. Me pregunto por qué no está seleccionado como respuesta. –

Cuestiones relacionadas