Editar texto con Vi

Conceptos Claves

  • Navegar un documento con vi.
  • Utilizar los modos básicos de vi.
  • Insertar, editar, borrar, copiar y encontrar texto.

Términos y utilidades

  • vi
  • /,?
  • h, j, k, l
  • i, o, ac, d, p, y, dd, yy
  • ZZ,: w,: q,: e!

Modos de Vi

Modo Comando

También conocido como modo normal, este modo acepta comandos, los cuales son simplemente letras. Por ejemplo, el comando x borra el carácter abajo del cursor y el comando i nos hace ingresar a modo de inserción.

Modo Ex

Tipiando : (dos puntos), entramos en modo Ex, el cual nos permite ejecutar una serie de comandos un poco mas elaborados que el modo normal. Podremos ver los comandos que vamos ingresando por medio de un prompt en la ultima línea de la pantalla.

En ocasiones Vi no nos permite realizar ciertas operaciones, con el fin de proteger nuestros datos. Como salir del programa sin antes guardar los cambios efectuados en un archivo. Para forzar la ejecución del comando, se agrega el signo ¡ después del comando.

Modo Inserción

Es el modo que utilizamos para introducir texto nuevo, hay varios comandos que nos llevan de modo normal a modo inserción. Dependiendo de cómo y donde queramos insertar texto, ejecutaremos un comando distinto desde el modo normal.

Trabajar con archivos

Comando Descripción
:e archivo Abre un archivo nuevo.
:e! archivo Fuerza la apertura de un archivo nuevo, por mas que no hayamos grabado los cambios en el archivos que estamos trabajando actualmente.
:w [nombre_de_archivo] Guardar cambios en un archivo. Si no se especifica un nombre de archivo, Vi guarda como el nombre del archivo que estaba editando. Para guardar el archivo con un nombre diferente, especifique el nombre del archivo.
:q Salir de Vi. Si tiene cambios sin guardar, Vi se niega a salir.
:q! Fuerza la salida. Sale de Vi sin guardar los cambios.
:wq Guarda y sale.
:x Guarda y sale.
ZZ Guarda y sale.

Moverse en el archivo

Estos comandos Vi y teclas funcionan tanto en modo comando y como en modo visual.

Comando Descripción
k o flecha arriba Una línea hacia arriba.
j o flecha abajo Una línea hacia abajo.
h o Flecha izquierda Se mueve a la izquierda un carácter.
l o flecha derecha Se mueve a la derecha un carácter.
e Se mueve a el final de una palabra.
E Para el final de una palabra delimitada por espacios en blanco.
b Para el comienzo de una palabra.
B Al principio de una palabra por espacios en blanco delimitados.
0 Para el comienzo de una línea.
^ Para el primer carácter distinto de espacio en blanco de una línea.
$ Para el final de una línea.
H Para la primera línea de la pantalla.
M a la línea central de la pantalla.
L Para el la última línea de la pantalla.
N (N es el numero de línea) Ir al número de línea n. Por ejemplo, para ir a la línea 42, escribe: 42

Insertar y sobrescribir texto

Comando Descripción
i Entra en modo insertar.
I Insertar al principio de la línea actual.
a Insertar después del cursor.
o Inserta una línea nueva abajo del cursor.
O Inserta una nueva línea arriba del cursor.
C Cambia el resto de la línea actual.
r Reemplaza un carácter.
R Entra en el modo de inserción, pero reemplaza caracteres en lugar de insertarlos (modo reemplazar).
Tecla ESC Salir de modo insertar/reemplazar y volver al modo comando.

Eliminación de texto

Comando Descripción
x Elimina los caracteres bajo el cursor.
X Elimina los caracteres antes del cursor
dd Borra la línea actual.

Modo visual

Comando Descripción
v Inicia el modo visual.
V Inicia modo visual de líneas.
tecla ESC Vuelve al modo comando.

Edición de bloques de texto

Nota: los comandos Vi marcados con (V) funcionan en modo visual, cuando se ha seleccionado algún texto. Los otros comandos funcionan en el modo de comando, cuando no se ha seleccionado ningún texto.

Comando Descripción
~ Cambiar mayúsculas por minúsculas. Esto funciona tanto en modo visual como en modo comando.
> (V) Desplaza el texto a la derecha.
<(V) Desplaza el texto a la izquierda.
c (V) Cambia el texto resaltado.
y (V) Copia el texto resaltado.
d (V) Corta el texto resaltado.
aa o :y o Y Copia la línea actual. No es necesario resaltar en primer lugar.
dd o :d Corta la línea actual. No es necesario resaltar en primer lugar.
p Pega el texto que copio o cortó. Pega las líneas por abajo de la línea actual.
P Pega caracteres antes del cursor. Pega las líneas por encima de la línea actual.

Deshacer y rehacer

Comando Descripción
u Deshace la última acción.
U Deshacer todos los últimos cambios que se realizaron en la línea actual.
Ctrl + r Rehacer.

Buscar

Comando Descripcion
/Patrón_de_búsqueda Busca hacia delante el texto que concuerde con el patrón.
?Patrón_de_búsqueda Busca hacia atrás el texto que concuerde con el patrón.
n Salta a la próxima ocurrencia.
N Vuelve a la ocurrencia anterior.

Ejemplos

Borrar todas la líneas que están comentadas:

Primero borramos todas las líneas comentadas con el siguiente comando ex:

:g/^#/d

Luego borramos las líneas en blanco:

:g/^\s*$/d

results matching ""

    No results matching ""