2012-07-11 10 views
8

Quiero mapa Alt + Shift + ] y Alt + Shift + [ a gt y gT (por lo que funciona como en Mac)mapa alt + shift +] en vim

Cómo lo hago porque no parece funcionar si simplemente hacer esto:

map <A-S-]> gt 

De alguna manera ] necesita ser escapado o algo

Respuesta

12

No hay nada de malo con su definición allí. Vim mapeará correctamente esa combinación, pero no lo hace de la manera esperada. Lo que la cartografía es esencialmente dice

Cuando Shift + Alt es golpeado, además de ]

en un teclado estándar del carácter ] cuando se combina con Shift producirá }. Esto significa que Vim no verá el ] en combinación con Shift, sino que solo ve }. Puede aprovechar esto sin embargo para obtener el comportamiento que está buscando. Prueba el (teclado QWERTY estándar asumiendo) siguiendo las asignaciones lugar

:map <A-}> gt 
:map <A-{> gT 
+0

Whoa, que se le ocurre eso! gracias – BPm

+1

esto NO funciona para mí ... Estoy en una Mac, en caso de que sea relevante. – iconoclast

12

Cuando desea volver a asignar teclas en vim, a menudo es una buena idea para ir al modo de inserción, golpeó Ctrl + V, y escriba el la clave que quiere reasignar En este caso, obtengo un carácter Escape (Ctrl + [) seguido de }.

me gusta usar la notación <A-}>, pero se podría haber resuelto el problema editando el archivo de .vimrc, introducir el texto map, entonces golpear Ctrl + V y golpear Alt + Shift +] y luego añadiendo gt. Se podría terminar con una línea como

map ^[} gt 

(pero con un Escape carácter real en lugar de una ^ y una [ ya que tuve que escribir aquí) y que iba a funcionar.

P.S. Cuando probé esto, Alt + Shift + [ funcionó bien, pero Alt + Shift +] parece estar ya en uso en mi copia de vim. No estoy seguro de qué es exactamente, pero reasignarlo no funciona para mí. Cuando escribo

:map <A-}> 

imprime No mapping found.

+3

gracias por la sugerencia 'ctrl + v'! – BPm

+0

¡De nada! :-) De vuelta en el día, utilicé ese truco para descubrir qué secuencia de escape enviaría una terminal tonta a una de sus teclas especiales. – steveha

+1

Funciona en una Mac (utilizando el método control-v). – iconoclast

Cuestiones relacionadas