Cuando aprendí a programar, presionaría los corchetes de apertura y cierre / etc, luego la tecla de flecha izquierda y luego ingresaría el texto. Entonces, para [hello]escribir [], escribiría , y luego la flecha izquierda para que esté sobre el primer corchete ( [).
Me gusta porque sé que siempre tengo el número correcto de paréntesis / etc. y de lo contrario siento que mi mano tiene que moverse hacia adelante y hacia atrás a la tecla de paréntesis / etc.
Pero, al apegarme a la mentalidad de Vim, no quiero alcanzar continuamente las teclas de flecha. ¿Hay algo que pueda hacer que no implique el uso de las teclas de flecha o tener que cambiar continuamente del modo de inserción para presionar hy volver a entrar?
fuente

[,],<Esc>(que se coloque el cursor sobre el]) y, por últimoi, que se coloque el cursor entre los corchetes en modo de inserción.ctrl-o 2h? ¿Es esto más rápido que mover la mano a los cursores? ;)ho, de lojcontrario, usaré otros movimientos. Me parece más rápido, pero entiendo que algunas personas lo sienten de una manera diferente :)Hay muchos complementos de "pares" que hacen esto automáticamente. Sin embargo, todos me frotan de la manera incorrecta. Tiendo a usar el plugin surround.vim de Tim Pope . Hago lo siguiente:
<c-s>]en modo de inserción para insertar[]con el cursor en el medio de los corchetes.fuente
Si solo necesita mover un espacio, ctrl-oen el modo de inserción hace que su próxima entrada sea un comando normal, por lo tanto ctrl-o, hretrocederá uno. La línea de modo se mostrará
--- (insert) ---hasta que ingrese el comando normal.fuente
lh-brackets proporciona mapeos de inserción, modo normal y visual para insertar par de corchetes.
Notas:
(en modo visual rodeará (por defecto), no tenemos que golpearsi(o secuencias similares.fuente
Las respuestas anteriores son muy buenas. Pero creo que quizás quieras algo más fácil. Personalmente lo uso
hjklpara moverme. Por lo tanto, he agregado a mi .vimrc lo siguiente:Solo un pequeño consejo. Usted ha dicho que su procedimiento es
i,[],<Esc>hi.Hay asignaciones pendientes de operador, lo que significa que puede
ci[odi[oii[.fuente
Personalmente, no soy un gran fanático de la inserción automática de personajes; puede definir fácilmente un conjunto de asignaciones para insertar texto y más el cursor donde desee:
Tenga en cuenta que un complemento como ultisnips también hace cosas como esta, pero más avanzadas. Por ejemplo en Javascript puedo escribir:
y obtengo:
Puede agregar un fragmento simple para completar los corchetes; Este es un archivo .snippet especial que vive en
~/.vim/UltiSnips/all.snippets:${0}es la posición del cursor.ver
:help UltiSnips-adding-snippetspara más información.Tenga en cuenta que ultisnips requiere Python; otro plugin conocido es vim-snipmate . El Wiki de Vim tiene una lista completa de complementos de fragmentos .
fuente