Esto puede parecer un poco exagerado, pero cambié a vim y ahora estoy muy contento con el flujo de trabajo. Intento disciplinarme para no usar las teclas de flecha, ya que mantener las manos en las teclas alfa todo el tiempo es algo muy importante al escribir. Entonces, cuando necesito navegar, salgo del modo de inserción, me muevo en modo normal y vuelvo al modo de inserción.
Hay una excepción en la que esto es realmente más perturbador: lo uso clang complete
con fragmentos y super tab
es genial. Excepto cada vez que obtengo una función que se completa automáticamente después de completar los parámetros, me quedo con el cursor antes, )
así que para continuar tengo que mover el cursor un carácter hacia la derecha. Como puedes imaginar, esto sucede muy a menudo .
Las únicas opciones que tengo (que yo sepa) son: Esclao →, y no estoy contento con ninguna de ellas. La primera me hace presionar 3 teclas para un simple movimiento del cursor de 1 carácter, la segunda me hace mover mi mano a las teclas de flecha. Una tercera opción sería mapear CTRL-Lo hacer algo →.
Entonces, ¿cuál es la mejor manera de hacer esto?
//snippets (clang complete + supertab):
foo($`param1`, $`param2`)
//after completion:
foo(var1, var2|)
^ ^
| |
I am here |
Need to be here
|
denota la posición del cursor
)
si hay al menos un argumento en la función. Entonces lo escribo a mano. Mucho más útil ahora.)
, apuesto a que se salta sin insertar realmente. (No uso este complemento))
<C-O>l
para salir al modo normal para 1 comando de modo normal.Respuestas:
Mapa )para omitir el existente
)
si es un paréntesis de cierreTomado de: http://vim.wikia.com/wiki/Automatically_append_closing_characters
Vieja respuesta
:h i_CTRL-O
ejecute un comando, regrese al modo Insertar.Ctrl-ol te moverá un personaje a la derecha y luego te regresará al modo de inserción.
Alternativamente, algunos de los complementos de soporte le permiten simplemente escribir el soporte de cierre )y anularán el existente.
fuente
)
es el último carácter en la línea (y esto sucede a menudo cuando escribe código).CTRL-O a
Sin embargo funciona. Así que supongo que guardamos una clave. :)del
)
tiene solo dos caracteres y siempre lo colocará después del paréntesis de cierre.Escriba lo siguiente para buscar las teclas de control que se utilizan en el modo de inserción.
ctrl-b no se usa, pero es posible que desee sacrificar alguna otra clave.
Esto funciona para mover el cursor hacia la derecha un carácter. O mapear algunos caracteres dobles.
fuente