domingo, 1 de junio de 2008

Sacandole mas provecho a VIM

Siempre tenemos una conversacion muy especial entre mis compañeros de clase. Primeramente, porque mis amigos y yo preferimos trabajar en linux y nos ¿gusta? hacer casi todo "a mano". Me explico:
Supongamos que estamos realizando una pagina web. La mayoria de mis compañeros van directamente a DreamWaver (que es una buena herramienta para desarrollar webs, pero no es de mi gusto xD) y Tripode.Corp (mi grupo de trabajo) solo utilizamos un editor de texto cualquiera.

Ahora supongamos que estamos realizando un programa en un lenguaje "X" (ok, Java). Java = NetBeans, Un buen Ide para desarrollar (algo pesado si para la maquina en la cual trabajo... un celeron de 900 Mhz con 256 de Ram, creanlo xD), y Tripode utiliza el mismo editor de texto.

Podria seguir dando ejemplos, pero el patron es el mismo: Todos prefieren la comodidad de un Buen IDE, cosa que lo encuentro genial... pero los Masoquistas de mi grupo (me incluyo) preferimos simplemente el editor de textos de consola: VIM.

VIM es el editor de texto que utilizamos siempre pero, como todo novato, desconocemos muchas de las caracteristicas que ofrece este editor. Yo simplemente lo utilizo para "escribir codigo" y editar archivos de configuracion, nada mas. Ese es todo el uso que le doy, no necesito mas. Eso si, siempre he querido saber que hay mas alla de dicho editor y hoy encontre un par de tips bastante buenos =).

Dos de las funcionalidades que facilitan la vida al programador, y que ademas poseen los grandes IDES) es el autocompletado de sintaxis y las llamadas a las API. Esto quiere decir, que solo escribes unas cuantas letras y te aparecen los posibles comandos (palabras reservadas) mientras escribes codigo, y ademas te puede entregar cierta informacion adicional (parametros que puede recibir una funcion o metod, por ejemplo)... Y como puedo lograr esto con mi editor favorito?? Añadiendo unas cuantas lineas al archivo de configuracion de vim (Tu .vimrc =))

ejemplo del archivo ~/.vimrc

set tabstop=4
syntax on
set number
set encoding=utf-8

autocmd FileType php set omnifunc=phpcomplete#CompletePHP
autocmd FileType python set omnifunc=pythoncomplete#Complete
autocmd FileType javascript set omnifunc=javascript#CompleteJS
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags
autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags
autocmd FileType c set omnifunc=ccomplete#Complete
autocmd FileType css set omnifunc=csscomplete#CompleteCSS
inoremap <Nul> <C-x><C-o>



Con esto, podras gozar del autocompletado y calltips mientras escribes codigo en VIM.

Asegurate si de tener instalado el soporte de VIM para cada lenguaje =).

Aqui una muestra =)

0 Objeciones: