Información blog

Linux, tutoriales, noticias, sistemas, redes y seguridad informática, entre otras cosas.

martes, 4 de agosto de 2015

Manual de supervivencia de vi

Uno de los mayores problemas con los que uno se encuentra a la hora de usar la consola de Linux, es el uso de los editores de texto... Hoy en día existen muchísimas opciones, algunas más vistosas que otras, unas pocas más potentes que el resto, etc... Cada uno tiene sus virtudes y defectos, pero lo cierto es que son pocos los editores preinstalados en el sistema operativo; es más, lo más probable es que uno se encuentre con únicamente dos editores disponibles desde la instalación base: vi y nano. El primero más potente pero al mismo tiempo complejo, el otro sencillo y ligero, pero sin la misma gama de opciones que ofrece vi; ambos tienen sus virtudes y defectos, pero lo cierto es que cuando nos dirigimos a las distribuciones más minimalistas, la gama de opciones se reduce a una sóla: el editor vi.
Portada_vi
Vi (Visual) destaca por ser uno de los primeros editores de texto que se inventó para los sistemas basados en UNIX, el cual data del año 1976. Además su flexibilidad y versatilidad ha logrado que este editor haya sobrevivido exitosamente al paso del tiempo, llegando a incluso desarrollarse una versión mejorada de éste, denominado vim. Aún así, vi es el que está instalado por defecto en los sistemas operativos, dejando a vim como un editor opcional, es por ello que resulta más importante conocer el manejo básico de este editor. No os voy a engañar, vi, a pesar de toda su flexibilidad, es complejo de usar y dominar esta utilidad con maestría es algo muy laborioso, tanto que existen libros enteros exclusivamente dedicados a esta herramienta... En este post el objetivo no es volverse un maestro en el uso de este editor, sino la adquisición de los conceptos elementales para poder defendernos adecuadamente en el caso de toparnos con la necesidad de usar esta utilidad.

Comencemos con lo más básico de todo; la apertura de un fichero. Este es el proceso más sencillo de todos, pues no requiere memorizar nada, simplemente habría que escribir el comando junto con el nombre del fichero. Imaginemos que queremos abrir/editar un fichero denominado texto.txt. El comando en cuestión sería:

  1. vi texto.txt

Simple y sin ningún parámetro. Ahora bien, una vez dentro del fichero el tema se torna ligeramente más complicado, pues requiere del uso de una serie de parámetros que uno debe entender correctamente; parámetros sin los cuales es imposible manipular el fichero en cuestión. Comencemos con el aspecto más importante de todos, la inserción de texto. Dependiendo de nuestras necesidades deberemos introducir uno de los siguientes parámetros:

  1. Insertar texto justo antes de la posición del cursor --> i
  2. Insertar texto al comienzo de la línea --> I
  3. Insertar texto justo después de la posición del cursor --> a
  4. Insertar texto al final de la línea --> A

Sin el uso de estos parámetros, sería imposible insertar texto alguno, independientemente de lo que se quiera introducir. Si en algún momento deseásemos dejar de insertar texto o de realizar cualquier tipo de manipulación en éste, SIEMPRE habría que recurrir a la tecla Esc.

Teniendo la introducción de texto clara, pasaríamos a algo ligeramente más avanzada, que no es ni más ni menos que las típicas funciones de copia/pega. Estas funciones serían:

  1. yy --> Copiar línea en la que se encuentra el cursor
  2. y2y --> Copiar la línea en la que se encuentra el cursor y la siguiente. Si se pusiesen 3 en vez de 2 serían las dos siguientes...
  3. p --> Pegar después de la posición del cursor
  4. P --> Pegar antes de la posición del cursor

Por supuesto, todo el mundo puede cometer errores en cualquier momento, con lo que también son necesarios ciertos parámetros o comandos para eliminar caracteres o incluso líneas. Para ello haremos uso de los siguientes comandos/funciones:

  1. d  + flecha derecha --> Elimina el carácter que se encuentra después de la posición del cursor
  2. d + flecha izquierda --> Elimina el carácter que se encuentra antes de la posición del cursor.
  3. d + flecha arriba --> Elimina la línea en la que se encuentra el cursor más la que se encuentra encima suyo
  4. d + flecha abajo --> Elimina la línea en la que se encuentra el cursor más la siguiente línea.
  5. dd --> Elimina la línea en la que se encuentra el cursor

Por último, pero no por ello menos importante, se encontraría la forma de aplicar los cambios y salir de la edición del fichero, ya sea guardando los cambios por el camino o sin dicho guardado. Para ello recurriríamos a las siguiente funciones:

  1. q --> Salir del fichero a secas. Esto es imposible si se han realizado cambios y no se ha guardado antes
  2. q! --> Salir sin haber guardado antes. Cualquier cambio realizado tras el último guardado se descartaría.
  3. qw --> Salir guardando los cambios en el proceso.
  4. w --> Guardar los cambios sin tener que dejar de editar el fichero.

Con esto ya tendríamos las nociones básicas necesarias para poder movernos por vi sin sentirnos desamparados. Si uno desease profundizar sus conocimientos sobre esta herramienta, una buena fuente de información es el manual que se obtiene del propio software el cual se obtiene mediante el comando man:

  1. man vi

Espero que os resulte útil.

Saludos.

No hay comentarios :

Publicar un comentario