Hola a todos


jueves, 4 de agosto de 2011

Autocompletado en VIM

Los editores modernos tiene como funcionalidad básica el autocompletado. Vim es un editor práctico y funcional que soporta muchas configuraciones interesantes.

Configuración del auto-completado:
  • Instalar exuberant ctags:
sudo apt-get install exuberant-ctags

  • Descargar el plugin OmniCppComplete:


  • Descomprimimos en plugin en ~./vim
mkdir ~/.vim/tags
mv omnicpp*zip ~/.vim
cd ~/.vim
unzip omnicpp*.zip
cd -

  • Ejecutar los siguientes comandos:
tar vfx cpp_src.tar.bz2
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src && mv tags ~/.vim/tags/stl


  • Para generar tags de librerias instaladas, por ejemplo qt4 hacemos lo siguiente
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ /usr/include/qt4/ && mv tags ~/.vim/tags/qt4


  • Configuracion del archivo vimrc:
set nocp
filetype plugin on

" configure tags
set tags+=~/.vim/tags/stl

" build tags of your own project with CTRL+F12
"map :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
noremap :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
inoremap :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .

" OmniCppComplete
let OmniCpp_NamespaceSearch = 1
let OmniCpp_GlobalScopeSearch = 1
let OmniCpp_ShowAccess = 1
let OmniCpp_MayCompleteDot = 1
let OmniCpp_MayCompleteArrow = 1
let OmniCpp_MayCompleteScope = 1
let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"]

" automatically open and close the popup menu / preview window
au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif
set completeopt=menuone,menu,longest,preview

  • Para usar el autocompletado debemos estar en modo edición y presionar control+n.
Esta configuración es una recopilación de unos tres o cuatro blogs en ingles, luego colgaré la referencia.






1 comentario: