jueves, julio 15, 2010

vim and db2

Una de las herramientas que más me gusta y la que más me critican es el uso de VIM, pero estoy acostumbrado a usar máquinas poco potentes (mi actual máquina es una mini acer aspire one) y el ahorro de memoria es muy apreciado para mi.

Actualmente me estoy especializando en db2 y como sabrán todas sus herramientas visuales de administración corren en java (malo para la memoria) así que ¿por qué no integrar db2 y vim?. Y como le pasa a mi amigo Toño, con casi todas sus buenas ideas, ya esta inventado. No tan solo se puede conectar a db2, sino que soporta varias bases de datos, el plugin de vim es dbext.vim, después de leer la documentación y seguir el :h db2ext-tutorial, me tiraba el siguiente error:

Connection: T(DB2) D(sample) at 22:28

*** Invalid argument(s) for command line option

*** For option "-s"

* Type 'db2batch -h' for help.

/bin/bash: -f: no se encontró la orden

To change connection parameters:

:DBPromptForBufferParameters

Or

:DBSetOption user|passwd|dsnname|srvname|dbname|host|port|...=<value>

:DBSetOption user=tiger:passwd=scott

Last command(rc=127):

db2batch -q off -s off-d sample -l ; -f /tmp/vZbICSm/dbext.sql

Last SQL:

SELECT id FROM customer;

Grave error, pero hay que fijarnos bien en el comando que ejecuta:

db2batch -q off -s off-d sample -l ; -f /tmp/vZbICSm/dbext.sql

Que tiene de malo, varias cosas:

-s off-d sample :No hay espacio entre off-d

-l ; :en linux ; tiene un significado especial asi que hay que encerrarlo entre "" o de plano quitarlo

Leyendo un poco el código fuente del plugin .vim/autoload/dbext.vim, vemos la falla, la cual se localiza en las variables:

g:dbext_default_DB2_cmd_options.'':'-q off -s off'

g:dbext_default_DB2_cmd_terminator.'':';'

Así que para no aburrirles tanto ejecutamos en vim:

:let g:dbext_default_DB2_cmd_options = '-q off -s off '

:let dbext_default_DB2_cmd_terminator = ''

y ya tendremos funcionado nuestro plugin.

Ver video con la nostalgia de mis tecladazos!!!

Edit: no se pudo subir el audio...

No hay comentarios.: