28 julio 2010

Usar Vim como Bash Script IDE

Últimamente estoy haciendo bastantes shell scripts, en bash más concretamente, por lo que he decidido de buscarme alguna herramienta que me facilite un poco la vida. Buscando un poco he encontrado un plugin para vim que convierte a este editor en un IDE para bash con código ya predefinido y la posibilidad de depurar a través de bashdb.

Se que cuando empiezas a usar vim te puede resultar tedioso pero si pierdes un poco el tiempo en aprenderte los atajos de teclado se hace una herramienta imprescindible o cuanto menos útil, potente y rápida en comparación con otros editores, sin contar, además su independencia de las X en sistemas Unix like donde muchos equipos (servidores) prescinden de ellas.

Para más información podéis dirigiros a la página del plugin o a la documentación online

Primero instalamos bashdb para usarlo como depurador

sudo aptitude install bashdb

Descargamos el plugin, lo copiamos en la carpeta correspondiente y lo descomprimimos. Pese a estar en mi home no tenía permisos de escritura en la carpeta .vim y como no quise cambiarle permisos, utilicé sudo.

wget -O bash-support.zip http://www.vim.org/scripts/download_script.php?src_id=9890
cd ~/.vim
sudo cp /ruta/bash-support.zip bash-support.zip
sudo unzip bash-support.zip
sudo rm bash-support.zip

Creamos el archivo vimrc del usuario y añadimos un par de lineas para activar el plugin

vim ~/.vimrc

filetype plugin on
filetype indent on

Lo hemos instalado en el usuario pero si se quiere instalar para todos la ruta para los archivos sería /usr/share/vim/vim72/ y el archivo de configuración a modificar /etc/vim/vimrc.

Ahora modificamos el valor de las variables que utilizara para crear la cabecera y demás

sudo vim ~/.vim/bash-support/templates/Templates

En el siguente archivo podéis modificar, traducir la cabecera, el comenario de función ...

sudo vim ~/.vim/bash-support/templates/bash.comments.template

Reiniciamos vim y generamos la ayuda. Dentro de vim

:helptags ~/.vim/doc

Después ya podemos verla en vim

:help bashsupport

Si usas gvim te ha tenido que salir un nuevo menú llamado Bash donde elegir todas sus funciones. Veamos ya como trabaja sin gui:

cuando creamos un archivo.sh nos coloca directamente la cabecera o en un archivo creado tecleando \ch y nos coloca el cursor para escribir la descripción

vim script.sh

#!/bin/bash -
#========================================================================
#
#       ARCHIVO: script.sh    USO: ./script.sh
#
#   DESCRIPCION:
#
#      OPCIONES: ---
#    REQUISITOS: ---
#          BUGS: ---
#         NOTAS: ---
#         AUTOR: Nebur (Más Vale Manya ...), masvalemanya@gmail.com
#           WEB: http://masvale-manya.blogspot.com
#        CREADO: 28/07/10 18:26:42 CEST
#      REVISION: ---
#========================================================================

set -o nounset # Treat unset variables as an error

Si quieres poner un bucle case tecleamos \sc y nos coloca el cursor para escribir la variable

case in
)
;;

)
;;

*)
;;

esac # --- end of case ---

Podéis ver los atajos de teclado en ~/.vim/bash-support/doc/bash-hot-keys.pdf para comentarios, comentarios de funciones (con descripción, argumentos, salida), bucles, código predefinido, ayuda de bash, lanzar el depurador ...
La verdad es que me ha gustado mucho y espero que os sea de utilidad.

No hay comentarios: