viernes, 14 de septiembre de 2012

Guía para aprender a usar Vim

Vim
Vim es un potente editor de texto con características que ya quisieran para si varios de los editores que los desarrolladores usamos a diario en nuestro trabajo. Todas las operaciones como cortar, pegar, eliminar, buscar, reemplazar, resaltar sintaxis, visalizar lineas de archivos, ir a un número de linea concreto y muchas más pueden realizarse de forma eficiente y rápida. Una de sus principales características es que se basa en modos dependiendo de los cuales las teclas tendrán diferentes funciones. Los dos principales modos son el modo normal, en el que prácticamente cada tecla tiene una función asignada, y el de inserción. A primera vista las teclas asignadas a cada función parecen puestas aleatoriamente, pero no es así, la disposición elegida de las mismas tiene como objetivo que no tengamos que mover ni desplazar las manos del teclado de modo que se consigamos gran rapidez al editar los archivos.

Otro de los motivos que nos puede motivar a usarlo es que al ser un programa que se usa desde el terminal y sin interfaz gráfica consume muy pocos recursos (unos pocos megas) comparado con lo que consume cualquier IDE con interfaz gráfica (varios cientos de megas) y se muestra ágil incluso con archivos grandes de varios megas allí donde editores como gedit o eclipse se atascan al leerlos, Vim es capaz manejarlos sin problemas.

Una de sus desventajas es que es poco intuitivo para el usuario recien llegado y para usarlo de forma corecta, eficiente y rápida requiere aprender a como manejarlo con una curva de aprendizaje alta. Para la tarea de aprender a usarlo lo mejor es leer un manual que nos permita aprender al menos los comandos básicos para empezar a trabajar con él aunque en un principio no lo hagamos de forma eficiente y usando todas las características que vim ofrece, a medida que vayamos leyendo y aprendiendo del manual y usemos los comandos iremos conociendo nuevos que nos permitirán hacer más o mejor las cosas. Un buen manual para empezar a usar vim es el «Vim Book» que se encuentra dispponible en la sección documentación de Vim. Si en algún momento tenemos dudas necesitamos ayuda siempre tendremos a nuestra disposición la ayuda de vim con el comando «:help» y si necesitamos ayuda de una determinada tecla podemos utilizar el comando «:help [tecla]».

Hasta ahora usaba nano y siendo este un editor sencillo que cumple su función permitiendo editar archivos rápidamente sin tener que aprender como usarlo, se queda corto a medida que necesitamos funciones más avanzadas por lo que la evolución será pasar de nano a vim o a otra alternativa como emacs.

Entre las características que posee vim están:
  • Corrector ortográfico integrado
  • Autocompletado de texto
  • Navegación por pestañas
  • Ventanas múltiples, que dividen el área de edición horizontal o verticalmente
  • Resaltado de sintaxis dependiendo del lenguaje de programación o de etiquetas utilizado
  • Órdenes deshacer y rehacer
  • Más de 200 sintaxis diferentes
  • Lenguaje de scripting para programar extensiones
  • Completado de órdenes, palabras y nombres de ficheros
  • Compresión y descompresión de ficheros, que posibilita editar ficheros comprimidos
  • Reconocimiento de formatos de fichero y conversión entre los mismos
  • Historial de órdenes ejecutadas
  • Grabación y reproducción de macros
  • Guardado de la configuración entre sesiones
  • Plegado automático y manual de código
  • Interfaz gráfica opcional
  • Altamente configurable y personalizable
  • Casi 100% compatible con vi, pero sin muchos de sus defectos

En los siguientes enlaces una presentación y varias chuletas con las teclas y combinaciones más básicas de teclas:

https://training.linuxfoundation.org/linux-tutorials/introduction-to-vim
http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html
http://www.tuxfiles.org/linuxhelp/vimcheat.html

Referencia:
http://www.vim.org/
http://es.wikipedia.org/wiki/Vim
http://www.vim.org/6k/features.es.txt