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 h
y 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? ;)h
o, de loj
contrario, 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
h
j
k
l
para 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-snippets
para 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