miércoles, 26 de octubre de 2011

Editor Vim

Linux y la mayoría de sus distribuciones (Fedora, Ubuntu, Red Hat, Debian) son sistemas de código abierto y que permiten tanto el entorno gráfico como línea de comandos. Todas las distribuciones Linux traen consigo el programa Terminal, una pequeña aplicación que permite al usuario interactuar con el sistema y poder gestionar desde él todo el ordenador.

Al inicio de la época de los primeros sistemas operativos de Linux, no existía una interfaz gráfica como GNOME o KDE, si no que la interacción con el sistema era con la línea de comandos. Para la completa administración del núcleo y los ficheros de configuración del sistema operativo, debía existir un programa editor de texto para modificar los archivos de configuración.  

Vi fue el primer editor sobre una terminal. Permitía la modificación de texto interactuando únicamente con el teclado (Dado que en aquella época aún no se usaba el ratón).

Vi mejorado (en adelante, Vim) es la versión mejorada del editor Vi, pero sigue conservando el exclusivo uso del teclado para su edición. Vi y Vim, por así decirlo, son programas de evolución, con la excepción de que el editor Vim es una "imitación" de Vi y no se podría considerar oficial. A pesar de estos pequeños apuntes, Vim sigue ofreciendo la misma interfaz y edición como si del propio Vi se tratara.

Si Vim fuera instalado habiendo una instalación existente de Vi, los archivos que se editaran en Vi, así como con el comando # vi (archivo), en realidad se realizarían en Vim, ya que se instala machacando el programa Vi para usar como predeterminado el Vim.

Vim, además de ser un nuevo editor que se compatibiliza casi en su totalidad con Vi, también ofrece un pequeño tutorial preinstalado con el sistema operativo. Su nombre es vimtutor y es un pequeño programa que nos facilita el aprendizaje para movernos en el editor y poder rehacer cualquier archivo o modificarlo a nuestro antojo.

Como pequeño apunte, pondré en este pequeño tutorial algunas de las opciones que más destacan de éste programa, para su fácil interactuacion con el usuario novel y como pequeños apuntes.

BLOQUE I: Familiarización con el editor.

- Movimiento

Al contrario de lo que mucha gente considera de carácter básico, Vi se diseñó en un primer momento sin la actuación de las flechas de movimiento que incorpora los teclados actuales. La actuación para moverse por el texto era con cuatro letras del teclado. Las teclas son:

  • Desplazamiento hacia arriba: Tecla K
  • Desplazamiento hacia abajo: Tecla J
  • Desplazamiento hacia izquierda: Tecla H
  • Desplazamiento hacia derecha: Tecla L
- Entrar y salir de Vim

Aunque parezca algo básico, muchas veces el Ctrl + Z que seleccionamos para salir de ejecución en una terminal no nos hace salir completamente del proceso, y podría quedarse en segundo plano. Vim tiene un uso totalmente sencillo de su edición, con lo que conocer cómo modificar archivos o entrar y salir sin problemas son grandes objetivos a batir.

Para hacer algún tipo de cambio en el fichero con respecto a su gestión (Ya sea guardarlo, salir sin guardar, o reemplazarlo), el usuario debe usar la tecla de dos puntos (:) en el modo normal, más una variable. Así, por ejemplo, para salir de Vim y el fichero que estamos modificando, se utilizará :q! (quit) para salir SIN GUARDAR CAMBIOS en el fichero a editar. Para salir guardando datos, se debe introducir la variable :wq de Write y Quit.

NOTA: Si por algún error pulsásemos Ctrl + Z y no supiéramos volver al archivo que estábamos editando, en la misma terminal escribimos jobs, y el proceso de Vim tendrá a la izqda un número, seguido de la palabra Stopped o Detenido. Para recuperarlo, hay que escribir fg y el número que corresponda.

- Edición del texto.

  • Eliminación de texto: En modo normal, para eliminar texto, posicionamos el cursor sobre el carácter que queramos borrar y pulsamos la Tecla X. Esto borrará el carácter que estaba posicionado en el cursor.

  • Inserción de texto: En modo normal, para insertar texto, pulsamos la Tecla i para insertar texto. Una vez dentro del modo de edición de texto, están disponibles Todas las teclas de carácter, esto es, las teclas de cursor y la de borrado están operativas para escribir. Para salir del modo de inserción, pulsamos la Tecla Esc.
BLOQUE II: Edición de texto.

Vim ofrece opciones para borrar texto sin necesidad de entrar al modo de insertar o pulsar abusivamente la tecla x. Veamos algunas de sus otras opciones.

- Borrar palabras completas.

Para borrar una palabra entera, se debe ir sobre la palabra a borrar (Da igual si el cursor está situado en el inicio o final de la palabra) y pulsar primero la tecla d y luego la tecla w. Así, pulsando dw encima de una palabra se borrará hasta el último espacio enfrentado con la siguiente palabra. Sin embargo, si se pulsa primero la tecla d y luego la tecla e se borrará la palabra antes del último espacio (oseáse, la primera borra la palabra y el último espacio para la siguiente palabra, y la segunda la palabra sin tomar en cuenta el espacio)

- Borrar toda una línea.

Para borrar toda una línea de texto, nos posicionamos con el cursor sobre la línea que queremos editar y pulsamos dos veces la tecla d. De forma secuencial, también se pueden borrar x líneas si maracamos antes de la acción dd el número. Así, si por ejemplo queremos borrar dos líneas, pulsamos 2dd y se borran las líneas siguientes de donde estaba marcado el cursor.

- Cambiar una parte de las palabras.

Hemos aprendido a borrar palabras completas, pero ¿Y si queremos modificar una palabra desde un extremo hasta el final de la misma, cargándonos el resto? (Asi como por ejemplo, tenemos escrita la palabra rosawfs y queremos que ponga rojo, no es un ejemplo muy usual, pero se puede dar). Para modificar una palabra de ésta forma, se usa la combinación cw (Primero tecla c y luego tecla w). Una vez que tenemos modificada la palabra, pulsamos la tecla ESC.

- Cambiar frases.

De la misma forma que podemos cambiar una parte de las palabras, también podemos cambiar una parte de la línea en la que estemos. Así, por ejemplo, queremos modificar una línea de texto desde una parte escrita hasta el final. Para ello, pulsamos la tecla c  y la tecla de atajo $ (en la distribución de teclado español, tecla Shift y tecla de número 4 de arriba). Así, el atajo sería c$.

También se puede cortar y pegar una frase únicamente. Bastará con usar el comando dd, para borrar la línea a modificar, y luego en la línea que queramos ponerla, pulsar la tecla p (En modo normal en ambos casos). Si borramos una línea despues de la que queríamos pegar antes de hacerlo, no funcionará. La última línea borrada se guarda en el búfer, y se debe pegar antes de limpiar el búfer de nuevo.


Éstos serían los atajos y ediciones más simples y conocidos del Vim. Con este pequeño resumen no tendríamos mucho problema para manejar Vim en una consola de comandos.

Fuente:
Programa vimtutor, integrado en el paquete de Vim.
Algunas notas marcadas por mí.
Experiencias usando el programa.

NOTA: Vim tiene infinidad de opciones más, pero aquí solo están destacadas las más básicas. Si tiene alguna sugerencia y quiere preguntar dudas, o cree que se me escapa algo importante, avisen por comentario y reeditaré el documento ajustándolo a las exigencias.

No hay comentarios:

Publicar un comentario

Comenta si te gustó la entrada, algún error que tenga, o simplemente entra a debatir si tienes algún problema, pues recuerda que aquí todo es posible y nada es seguro (Y a lo mejor a mí se me ha podido ir la pinza y escribir algo mal)

Por favor, sé conciso y ten buena escritura, que aquí no se cobra por letras ni palabras a usar. Los comentarios estilo HOYGAN o descalificativos no serán publicados.