Vi es un editor de texto para consola. Es el editor de texto tradicional de UNIX, y en muchos sistemas es el único disponible, de manera que es importante saber usarlo, aunque más no sea básicamente.
Para comenzar a editar un archivo deberemos escribir: vi archivo
, o bien
ejecutar vi
, y luego abrir el archivo con el comando adecuado.
En vi existen dos modos de trabajo: un modo de edición y un modo de comandos.
Al
iniciar el programa, estamos en el modo de comandos. Para ingresar al modo de
edición debemos apretar i
, o bien, Insert.
Para volver al modo de
comandos, utilizamos la tecla ESC.
Cuando estemos en el modo de edición, todo lo que ingresemos será texto del archivo. Cuando estemos en el modo comandos, no. A veces lo que escribamos no mostrará ninguna salida inmediata en la pantalla.
:e archivo | abre el archivo. |
:q | sale del programa, solo si ya se grabaron los cambios. |
:q! | sale del programa sin grabar los cambios. |
:w | graba el archivo. |
:w archivo | graba el archivo con ese nombre (eq. Guardar Como) |
:wq | graba el archivo y luego sale del programa. |
0 | inicio de línea. | $ | fin de línea. | ||
b | anterior palabra. | w | próxima palabra. | ||
h | izquierda. | l | derecha. | ||
k | arriba. | j | abajo. | ||
G | fin de archivo. |
A la mayoría de estos comandos se les puede agregar un número al principio. El efecto de este número será el de multiplicar el efecto del comando por el número ingresado. Por ejemplo, 10j se mueve 10 lineas hacia abajo.
En el caso de G, el número que se le agregue antes puede ser el número de linea al cual deseamos ir. Si deseamos ir a la primera línea del archivo, debemos escribir 1G.
Como en cualquier editor de texto, podemos cortar, copiar y pegar.
dd | corta la línea. |
dw | corta la próxima palabra. |
d$ | corta hasta el final de la línea. |
p | pega lo que se haya cortado o copiado |
u | (undo) deshace la última acción. |
yy | copia la línea. |
x | corta el caracter. |
Muchos de estos comandos también aceptan un número que los preceda, de tal manera que se pueden seleccionar varios caracteres, palabras o líneas a un mismo tiempo.
Ingresando /texto, (ENTER) nos llevará a la próxima aparición de 'texto'. Para ir a la anterior: ?texto (ENTER). Una vez que lo hemos buscado, presionando n iremos a la siguiente aparición, y presionando N iremos a la anterior.
CTRL-g | muestra la línea actual y el total de líneas. |
o | agrega una línea debajo de la actual, y entra en modo inserción. |
a | se coloca en el caracter siguiente al actual, y en modo inserción. |
Dentro del mismo vi es posible obtener ayuda sobre cómo manejarlo,
utilizando el comando :help
, desde el modo comandos. Para salir de
la ayuda y volver al archivo que se estaba editando: :q
.
Una de las versiones de vi más difundida es el vim (Vi Improved). Tiene
muchas más caracteristicas, como resaltado de sintaxis (syntax highlighting) y
muchas otras cosas más. Para los recién iniciados existe un comando
vimtutor
, que nos da unas breves clases sobre el uso de vim.