Templates de código en Vim

En: Tutoriales

Imprime este post Imprime este post 26 jun 2010

Uno de esos días que andaba jugando con Vim, abrí un archivo nuevo y me encontré con la cabecera de las librerías y la función main ya escrita. Contento, porque Vim tenía un “autocompletado mágico”, lo pruebo con otro archivo. No me funcionó, por lo que creo que el primer archivo ya existía :P . Pero de ahí, se me ocurrió la idea de que si creo un archivo con determinada extensión, Vim automáticamente me incluya la declaración de las librerías y de la función main.

Gracias a un link que me pasó @hpmaxi pude hacer algo. Obviamente, no sé mucho de programación (y al ser un pésimo autodidacta, se me complica) pero pude implementar que cuando creo un archivo con extensión .c o .cpp, automáticamente me genere las cabeceras y la declaración de main.

Para hacer esto, tuve que:

1) Crear el archivo ~.vim/plugin/autoinsert.vim (si no existen los directorios, crearlos). Luego, le añadí el siguiente contenido:

[sourcecode language='plain']if has(“autocmd”)
augroup autoinsert
au!
autocmd BufNewFile *.c call s:Template(“c”)
autocmd BufNewFile *.cpp call s:Template(“cpp”)
augroup END
endif
function s:Template(argument)
if (a:argument == “help”)
echo “Currently available templates:”
echo ” c – Plain C Template”
echo ” cpp – Plain C++ Template”
else
” First delete all in the current buffer
%d

” Stuff for plain C
if (a:argument == “c”)
0r ~/.vim/skeletons/template.c
set ft=c
elseif (a:argument == “cpp”)
0r ~/.vim/skeletons/template.cpp
set ft=cpp
endif
endif
endfunction

command! -nargs=1 Template call s:Template()[/sourcecode]

2) Crear los respectivos templates que ya declaramos en autoinsert.vim (en este caso, template.c y template.cpp):

~./vim/skeletons/template.c :

[sourcecode language='c']#include

int main(int argc, char **argv){
return 0;
}[/sourcecode]

~./vim/skeletons/template.cpp:

[sourcecode language='c++']#include
using namespace std;

int main(){
cout << "Hola mundo" << endl;
return 0;
}[/sourcecode]

3) Crear un archivo con las extensiones que definimos, ¡y a programar! (?):

vim losojosdetux.c

vim losojosdetux.cpp

Así extraño un poco menos a IDE’s como Eclipse :D .


Artículos Relacionados

4 Respuestas a Templates de código en Vim

Avatar

Bitacoras.com

junio 26th, 2010 a las 20:28

Información Bitacoras.com…

Valora en Bitacoras.com: Uno de esos días que andaba jugando con Vim, abrí un archivo nuevo y me encontré con la cabecera de las librerías y la función main ya escrita. Contento, porque Vim tenía un “autocompletado mágico”, lo pruebo con o……

FeedBurner FeedBurner
¡Contestá este comentario!

Avatar

Tweets that mention Templates de código en Vim | Los ojos de Tux -- Topsy.com

junio 26th, 2010 a las 20:47

[...] This post was mentioned on Twitter by Marcelo Guzmán, Los ojos de Tux. Los ojos de Tux said: Templates de código en Vim – http://losojosdetux.com.ar/2010/06/templates-de-codigo-en-vim/ #enmiblog !losojosdetux [...]

SOAP (Simple Object Access Protocol) SOAP (Simple Object Access Protocol)
¡Contestá este comentario!

Avatar

Ramón

junio 27th, 2010 a las 0:38

Gran dato. Y para seguir optimizando Vim como IDE:

snipMate: http://www.vim.org/scripts/script.php?script_id=2540

Omni Completion: http://cyb3rpunk.wordpress.com/2010/05/23/tip-rapido-autocompletado-en-vim/
Ramón´s last [type] ..IN-CRE-PINCHE-I-BLE

Navegando con Opera 10.60 Opera 10.60 en GNU/Linux GNU/Linux
¡Contestá este comentario!

Avatar

phyro

junio 29th, 2010 a las 0:07

@Ramón: Uhh, buenísimo. Ya lo probaré. Gracias.

Navegando con GNU IceCat 3.6.4 GNU IceCat 3.6.4 en Gentoo x64 Gentoo x64
¡Contestá este comentario!

¡Dejá tu comentario!

:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!:

CommentLuv badge

Suscribirse sin comentar

RSS-Tux Twitter-Tux
TwitterCounter for @losojosdetux

¡Suscribite por e-mail!
Ingresa tu e-mail:

Enviado por FeedBurner


  • mau: Tus razonamientos sobre la privacidad me parecen muy bien, totalmente de acuerdo. Muchos que se quej [...]
  • Siguiendo la telaraña 5/2012 | Thalskarth's Maëlstrom: [...] editor de texto, visor de PDF y tienda de aplicaciones.Y como destacado de la semana, los dejo [...]
  • Rafael: Aca en Brasil ya hay una tarjeta como el SUBE que me permite viajar en 3 omnibus distintos sin pagar [...]
  • noparanoia: P.D.: Acepto críticas por usar Windows XP y Chrome... mea culpa. Me encantaría poder usar Linux y [...]
  • noparanoia: Yo creo que Cristina quiere saber todo lo que hacemos, pero en realidad para hacer un seguimiento de [...]

Banners

Válido para XHTML 1.0 Transitional [Valid RSS] Gente leyendo el blog

Encuestas

Lo siento, no hay encuestas en este momento.