« Auto-complétion avec Vim » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « Vim est un éditeur de texte puissant. Afin de rendre encore plus complet et pratique, ce tutoriel va expliquer comment configurer la complétion automatique en C++ et plus p... ») |
|||
Ligne 11 : | Ligne 11 : | ||
filetype plugin on | filetype plugin on | ||
" Reconstruire les tags de son projet avec Ctrl-F12 | " Reconstruire les tags de son projet avec Ctrl-F12 | ||
map < | map <F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR> | ||
" OmniCppComplete | " OmniCppComplete | ||
let OmniCpp_NamespaceSearch = 1 | let OmniCpp_NamespaceSearch = 1 | ||
Ligne 25 : | Ligne 25 : | ||
set completeopt=menuone,menu,longest | set completeopt=menuone,menu,longest | ||
</pre> | </pre> | ||
Avec cette configuration, F12 créera un fichier <code>tags</code> dans le repertoire courant, pour les sources du repertoire courant. De cette manière, vos projets pourront être auto-complété. | |||
=Omnicppcomplete= | =Omnicppcomplete= |
Version du 3 février 2011 à 14:32
Vim est un éditeur de texte puissant. Afin de rendre encore plus complet et pratique, ce tutoriel va expliquer comment configurer la complétion automatique en C++ et plus particulièrement pour Qt4.
Ce tutoriel est basé sur cet article.
Les paquets nécessaires sont : vim, ctags
Configuration de Vim
Votre fichier de configuration doit comporter les commandes suivantes :
set nocp filetype plugin on " Reconstruire les tags de son projet avec Ctrl-F12 map <F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR> " OmniCppComplete let OmniCpp_NamespaceSearch = 1 let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_ShowAccess = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters let OmniCpp_MayCompleteDot = 1 " autocomplete after . let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> let OmniCpp_MayCompleteScope = 1 " autocomplete after :: let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] " gestion plus intelligente du popup au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif set completeopt=menuone,menu,longest
Avec cette configuration, F12 créera un fichier tags
dans le repertoire courant, pour les sources du repertoire courant. De cette manière, vos projets pourront être auto-complété.
Omnicppcomplete
Il faut d'abord récupérer Omnicppcomplete. Pour son installation :
- Le dézipper dans son dossier ~/.vim
Tags C++
Il faut ensuite télécharger les stdc++ tags.
- D'abord créer un dossier ~/.vim/tags si inexistant
- Extraire le dossier
cpp_src
dans le dossiertags</coed>
- Les créer :
ctags -f ~/.vim/tags/cpp -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src
- Et enfin rajouter dans la configuration de Vim:
set tags+=~/.vim/tags/cpp
Tags Qt4
Plus rien de très compliqué :
- Générer les ctags :
ctags -f ~/.vim/tags/qt -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/Qt/
- Et rajouter dans la configuration de son Vim :
set tags+=~/.vim/tags/qt