Debido a que Vim se centra tanto en cambiar el código existente como en escribir código nuevo, se divide en varios modos, cada uno de los cuales tiene diferentes propósitos.
Modo normal
De forma predeterminada, Vim se inicia en modo "normal". Se puede acceder al modo normal desde otros modos presionando Esc
o .
En el modo Normal, las pulsaciones de teclas no funcionan como cabría esperar. Es decir, no insertan texto en el documento; en cambio, ciertas pulsaciones de teclas pueden:
Mover el cursor
- h mover un carácter a la izquierda
- j mover una fila hacia abajo
- k mover una fila hacia arriba
- l desplazarse un carácter a la derecha
Como muchos comandos vim, el movimiento de filas puede ir precedido de un número para mover varias líneas a la vez:
- 4j mover 4 filas hacia abajo
- 6k sube 6 filas
Movimientos básicos de palabras:
- w mover al principio de la siguiente palabra
- b ir al principio anterior de la palabra
- Nos movemos al final de la palabra
- W mover al principio de la siguiente palabra después de un espacio en blanco
- B mover al principio de la palabra anterior antes de un espacio en blanco
- E mover al final de la palabra antes de un espacio en blanco
Movimiento de inicio / fin de línea:
- 0 moverse al principio de la línea
- $ mover al final de la línea
Manipular texto
Entrar en otros modos
El modo normal es donde uno debe pasar la mayor parte del tiempo mientras usa Vim. Recuerde, esto es lo que hace a Vim diferente.
En el modo normal, hay varias formas de moverse por un archivo abierto. Además de usar las teclas del cursor para moverse, también puede usar h
(izquierda), j
(abajo), k
(arriba) y l
(derecha) para moverse. Esto ayuda particularmente a los mecanógrafos a quienes no les gusta dejar la fila de inicio cuando hacen cambios.
También puede realizar cambios en caracteres individuales en modo normal. Por ejemplo, para reemplazar un solo carácter, mueva el cursor sobre él y presione r
, y luego el carácter con el que desea reemplazarlo. Del mismo modo, puede eliminar caracteres individuales moviendo el cursor sobre él y presionando x
.
Para deshacer, presione u
en modo normal. Esto deshace los cambios hasta la última vez que estuvo en modo normal. Si desea rehacer ( es decir , deshacer su deshacer) presione Ctrl+r
en modo normal.
Modo de inserción
Este es el segundo modo más utilizado y será el comportamiento más familiar para la mayoría de las personas. Una vez en el modo de inserción, al escribir, se insertan caracteres como un editor de texto normal. Puede ingresarlo usando un comando de inserción desde el modo normal.
Los comandos de inserción incluyen:
i
para ' i nsert', esto cambia inmediatamente vim al modo de insercióna
para ' a ppend', esto mueve el cursor después del carácter actual y entra en modo de insercióno
inserta una nueva línea debajo de la línea actual e ingresa al modo de inserción en la nueva línea
Estos comandos también tienen una variedad de mayúsculas:
I
mueve el cursor al principio de la línea y entra en el modo de inserciónA
mueve el cursor al final de la línea y entra en el modo de inserciónO
inserta una nueva línea por encima de la actual y entra en el modo de inserción en la nueva línea
Hay muchas más formas de insertar texto en Vim que no se pueden enumerar aquí, pero estas son las más simples. Además, tenga cuidado con permanecer en el modo de inserción durante demasiado tiempo; Vim no está diseñado para usarse en el modo de inserción todo el tiempo.
Para salir del modo de inserción y volver al modo normal, presione Esc
o
Modo visual
El modo visual se utiliza para hacer selecciones de texto, similar a cómo se comporta hacer clic y arrastrar con un mouse. La selección de texto permite que los comandos se apliquen solo a la selección, como copiar, eliminar, reemplazar, etc.
Para realizar una selección de texto:
- Presione
v
para ingresar al modo visual, esto también marcará un punto de selección inicial - Mueva el cursor al punto de selección final deseado; vim proporcionará un resaltado visual de la selección de texto
El modo visual también tiene las siguientes variantes:
V
para ingresar al modo de línea visual, esto hará selecciones de texto por líneapara ingresar al modo de bloque visual, esto hará selecciones de texto por bloques; mover el cursor hará selecciones rectangulares del texto
Para salir del modo visual y volver al modo normal, presione Esc
o .
El modo visual en realidad tiene varios subtipos: visual , bloque-visual y linewise-visual
- visual : como se describe arriba. Entrar presionando
v
- block-visual : seleccione cualquier región rectangular. Entrar presionando
+v
- linewise-visual : seleccione siempre líneas completas. Entrar presionando
+v
Modo de comando
El modo de comando tiene una amplia variedad de comandos y puede hacer cosas que el modo normal no puede hacer tan fácilmente. Para ingresar al modo de comando, escriba ':' desde el modo normal y luego escriba su comando, que debería aparecer en la parte inferior de la ventana. Por ejemplo, para hacer una búsqueda global y reemplazar el tipo :%s/foo/bar/g
para reemplazar todo 'foo' con 'bar'
:
Ingresa al modo de comando%
Significa en todas las líneass
Medios sustitutos/foo
es regex para encontrar cosas para reemplazar/bar/
es regex para reemplazar cosas con/g
significa global, de lo contrario, solo se ejecutaría una vez por línea
Vim tiene una serie de otros métodos sobre los que puede leer en la documentación de ayuda, :h
o :help
.
Modo de reemplazo
El modo Reemplazar le permite reemplazar el texto existente escribiendo directamente sobre él. Antes de ingresar a este modo, ingrese al modo normal y coloque el cursor encima del primer carácter que desea reemplazar. Luego presione 'R' (R mayúscula) para ingresar al modo de reemplazo. Ahora, cualquier cosa que escriba reemplazará el texto existente. El cursor se mueve automáticamente al siguiente carácter al igual que en el modo de inserción. La única diferencia es que cada carácter que escriba reemplazará al existente.