v
en el primer carácter de la primera línea. Después baja hasta la línea siguiente con j
. Esto resaltará todo el texto desde "uno" hasta donde este ubicado el cursor. Ahora pulsa gU
, Vim convertirá a mayúsculas todos los caracteres resaltados.V
y observa como Vim selecciona la línea completa en la que esté ubicado el cursor. Igual que en el modo visual de selección de carácter, si ejecutas gU
, Vim cambiará a mayúsculas las líneas resaltadas.Ctrl-V
verás que Vim resalta el carácter bajo el cursor de igual manera que el modo visual de selección de carácter, excepto que ahora en vez de resaltar cada carácter hasta el final de la línea antes de seguir en la línea siguiente, puedes dirigir el cursor hasta la línea siguiente sin que se marquen todos los caracteres de la línea actual. Intenta moverte mediante las teclas h/j/k/l
y observa los movimientos del cursor y las zonas que se marcan.-- VISUAL --
, -- VISUAL LINE --
o -- VISUAL BLOCK --
para indicar el modo visual en que te encuentras.v
, V
o Ctrl-V
. Por ejemplo, si estás en el modo visual de selección de línea y quieres cambiar al modo visual de selección de bloque, ejecuta Ctrl-V
. ¡Inténtalo!<Esc>
, Ctrl-C
y con la misma tecla con la que accediste al modo visual actual.V
), podrás salir de ese modo pulsando V
de nuevo. Si estás en el modo visual de selección de carácter, podrás salir pulsando v
. Si estás en el modo visual de selección de bloque, pulsa Ctrl-V
para salir de ese modo.v
para comenzar el modo visual de selección de carácter (aquí los corchetes []
representan el carácter resaltado):j
y Vim resaltará todo el texto desde la línea "dos" hasta el primer carácter de la línea "tres".k
. Para tu asombro, esto ahora excluye "tres". Al pulsar k
esto reduce la zona resaltada, no la expande.o
u O
.k
, esto ya no reducirá la selección si no que la expandirá hacia arriba.o
u O
en el modo visual, esto hará que nuestro cursor salte del inicio al final del bloque resaltado, sin eliminar las partes resaltadas y podremos añadir más texto a esa selección.V
):d
esto eliminará la selección, de manera similar al modo normal. Cabe destacar que la regla gramatical del modo normal de verbo + sustantivo, aquí no se aplica. El mismo verbo sigue estando ahí (d
), pero no existe un sustantivo en el modo visual. La regla gramática en el modo visual es sustantivo + verbo, donde el sustantivo en este caso es reemplazado por el texto resaltado. Primero selecciona el texto, después opera sobre el.x
para eliminar un único carácter bajo el cursor o r
para reemplazar el carácter bajo el cursor (rx
reemplaza el texto bajo el cursor con la letra "x"). En el modo visual, estos comandos son ahora aplicados al texto resaltado por completo en vez de a un único carácter. Regresemos al texto que hemos resaltado anteriormente:x
esto eliminará todo el texto resaltado.yy
, después lo pegamos con p
:=
debajo del texto, así que reemplacemos el texto completo resaltado mediante r=
. ¡Voila! Esto te ahora el tener que escribir todos esos "=" de manera manual::h visual-operators
.:s/const/let/g
:Ctrl-V jj
).$
).A
) y después escribe ";".<Esc>
).A
para añadir el texto después del cursor o I
para introducir el texto después del cursor. No confundirlos con A
(añadir texto al final de la línea) o I
(insertar texto después del primer carácter que no sea un espacio en blanco en la línea) del modo normal.:normal
:vjj
).:normal! A;
.:normal
ejecuta comandos del modo normal. Le puedes pedir que ejecute A;
para añadir el texto ";" al final de la línea.Ctrl-X
y Ctrl-A
para decrementar e incrementar números. Cuando son usados en el modo visual, puedes incrementar o decrementar números en múltiples líneas.Ctrl-V 3j
). Esto resalta los números "1" siguientes.g Ctrl-A
.g Ctrl-A
incrementa los números en múltiples líneas. Ctrl-X/Ctrl-A
también pueden incrementar letras. Si ejecutas:nrformats
le indica a Vim que bases son consideradas como "números" para Ctrl-A
y Ctrl-X
para incrementar y decrementar. Añadiendo alpha
, un carácter alfanumérico es considerado ahora como un número. Si tienes los siguientes elementos HTML:Ctrl-V 3j
después g Ctrl-A
) para incrementar los "ids".gv
puedes resaltar rápidamente la anterior zona marcada en el modo visual. También puedes ir a la ubicación del comienzo y final de la anterior zona del modo visual con estas marcas especiales::s/const/let/g
. Cuando ejecutaste ese comando, deberías haber visto esto:s/const/let/g
(con las dos marcas como direcciones de inicio y fin del rango). ¡Interesante!Ctrl-O
mientras estás en el modo insertar te permite ejecutar un comando en el modo normal. Mientras estás en este modo-normal-momentáneo, ejecuta v
para entrar en el modo visual de selección de carácter. Fíjate que en la parte inferior izquierda de la pantalla se muestra --(insert) VISUAL--
. Este truco funciona con cualquier operador de cualquier modo visual: v
, V
, y Ctrl-V
.gH
) y escribes "y", se borrará el texto resaltado y se insertará la letra "y".V
) y escribes "y", el texto resaltado no será eliminado y reemplazado con la letra "y", solo será copiado. No puedes ejecutar comandos del modo normal en texto resaltado en el modo seleccionar.viwd
(resaltar visualmente una palabra y después eliminarla), si puedes hacer eso mismo con solo tres pulsaciones de teclas (diw
)? Esto último es más directo y conciso. Por supuesto, habrá ocasiones en las que el modo visual será apropiado, pero en general, es mejor un enfoque más directo.