viernes, 8 de enero de 2021

Uso básico del editor VI o VIM que todo sysadmin debería conocer

El editor VI, idolatrado por unos y odiado por otros, el editor por excelencia de todo sistema Linux, aquel que cuando todo lo demás falla sigue funcionando como si con él no fuera la cosa. Puedo asegurar que VI nunca te va a dejar tirado, pero su uso es muy particular y habrá vuelto del revés a más de uno que se ha topado por primera vez con él, así que voy a dejar por aquí una pequeña y sencilla guía de uso para que cualquiera que nunca antes lo haya visto pueda defenderse y conocer al menos los comandos básicos de uso. 

En la mayoría de sistemas es posible que se encuentre el editor VIM (VI Mejorado) en lugar de VI, pero su uso es el mismo en lo básico, ya que se trata como el mismo nombre indica de una versión mejorada del mismo editor. Yo mismo uso VIM y es el que voy a usar para las capturas y ejemplos de este artículo (no voy a entrar en el detalle de las diferencias entre ellos).


Voy a comenzar por lo esencial, lo primero es conocer los modos de funcionamiento del editor. Vi o Vim cuentan con 3 modos de uso:

- Modo de comandos.

- Modo de inserción.

- Modo de comandos avanzados.


 Como podemos ver una vez abierto un archivo con el editor (archivo_de_muestra.txt) podemos ver el contenido del mismo y se encuentra por defecto en "modo de comandos". En la parte inferior a la izquierda el nombre del archivo entre comillas "", seguido de la cantidad de líneas que tiene (6L en este caso, las lineas en blanco también se cuentan) y el número de caracteres (138C, los espacios en blanco y saltos de línea también se cuentan como caracteres). En la parte derecha se puede ver la posición exacta del cursos en el documento (6,0-1 sexta línea carácter 1) y a la derecha del todo se puede ver la palabra "Todo" indicando que se ve la totalidad del documento, en caso contrario se vería un indicador numérico con el porcentaje del documento visto/porcentaje total o las palabras "comienzo" o "final" dependiendo de si el cursor está situado al principio o al final del documento.

 Modo de comandos:

En el modo de comandos el editor está a la espera de recibir alguno de los comandos (valga la redundancia) y el contenido del archivo abierto o creado no es editable hasta que introduzcamos alguno de los comandos de edición. Los comandos más importantes que se deben conocer son los siguientes:

i    Con este comando se cambia al modo de inserción, una vez pulsada la tecla "i" podremos introducir nuevos caracteres en el documento, que se insertarán en la posición actual del cursor.

a    Con este es otro comando también pasamos al modo de inserción igual que con "i", pero en este caso los caracteres que introduzcamos se insertarán al documento por detrás de la posición del cursor.

A    Otro comando para pasar al modo de inserción, pero en este caso el texto que escribamos a continuación se añadirán al final de la línea en la que esté ubicada el cursor.

R    Pasamos de nuevo al modo de inserción, pero sobre escribiendo el texto anterior. Si usamos la tecla de retroceso deshará lo escrito volviendo a mostrar el texto anterior tal como estaba antes de sobre escribirlo.

r    Igual que el comando anterior "R" pero sobre escribe un solo carácter y sale del modo de inserción.

s    Elimina el carácter existente en la posición del cursor y cambia al modo de inserción como con "i".

C    Elimina la línea completa donde esté situado el cursor y pasa al modo de inserción.    

 o    Añade una línea nueva por debajo de la línea actual y entra al modo de inserción.

O    Añade una línea nueva por encima de la línea actual y entra al modo de inserción.

x    Suprime el carácter situado en la posición del cursor, no entra al modo de inserción.

dd    Borra completa la línea en la que se sitúa el cursor. 

dw    Borra los caracteres desde el punto en el que se sitúa el cursor hasta el siguiente espacio en blanco.

cw    Igual que el anterior pero además cambia al modo de inserción.

u    Para deshacer los cambios del último comando. Puede retrocederse hasta el primer comando introducido desde la apertura del documento.

J    Elimina el salto de línea de la linea actual uniéndola con la siguiente.

.    (punto) Repite el último comando introducido.

:    (dos puntos) Cambia al modo de comandos avanzados.

Mientras estemos en el modo de comandos, veremos abajo a la derecha antes del indicador de posición del cursor el comando que hemos escrito. Si entramos al modo de inserción, el mismo aparecerá indicado abajo a la izquierda en lugar del nombre del archivo.

Los comandos también pueden ir precedidos de números, indicando el número de veces que se va a ejecutar el mismo, es decir si con el comando dd borramos una línea, con el comando 5dd borraríamos 5 líneas.

Para mover el cursor por el documento, podemos usar las teclas de desplazamiento o en su defecto las teclas "l" y "h" (izquierda y derecha) y las teclas "k" y "j" (arriba y abajo).

Modo de comandos avanzados:

Para pasar al modo de comandos avanzados debe de pulsarse siempre antes la tecla ESC (escape) del teclado y debe de pulsar "Enter" después de escribir el comando avanzado para que sea ejecutado.

:q!    Salir del editor sin guardar los cambios.

:w    Para guardar los cambios.

:w nombre_del_archivo    Para guardar los cambios en un archivo con el nombre dado.

:x    Guarda los cambios y cierra el editor.

:wq    Exactamente lo mismo que el anterior comando.

:e nombre_del_archivo    Para abrir en el editor el archivo indicado.

:u    Deshacer el último comando de edición introducido.

 Como se puede ver, los comandos básicos de uso del editor son sencillos y fáciles de recordar, ayudándonos a evitar errores accidentales en la edición de documentos y sobre todo ofreciéndonos una herramienta simple y rápida en línea de comandos existente en cualquier servidor o equipo con sistema operativo Linux que vayamos a poder utilizar. Son muchas las funcionalidades existentes que no comento en este artículo como coloreado de sintaxis, resaltado de corchetes, paréntesis y llaves, recuperación de archivos a medio editar en caso de catástrofe del sistema, etc. Si vas a trabajar con sistemas sin entorno gráfico, sin duda necesitarás de este editor.

Si deseas ampliar tus conocimientos acerca del uso del mismo, una sencilla consulta en cualquier buscador te dará cientos de resultados útiles.

Como siempre, espero que te haya sido de ayuda, hasta la próxima!

 

 

No hay comentarios:

Publicar un comentario