Un blog con una mirada tuxiana del mundo
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
. 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(
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
.
4 Respuestas a Templates de código en Vim
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……
¡Contestá este comentario!
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 [...]
¡Contestá este comentario!
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/
Navegando conRamón´s last [type] ..IN-CRE-PINCHE-I-BLE
¡Contestá este comentario!
phyro
junio 29th, 2010 a las 0:07
@Ramón: Uhh, buenísimo. Ya lo probaré. Gracias.
Navegando con¡Contestá este comentario!