« Discussion:Auto-complétion C /Qt4 avec Vim » : différence entre les versions

De Linux Server Wiki
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... »)
 
Aucun résumé des modifications
 
Ligne 37 : Ligne 37 :
* Les créer :
* Les créer :
<pre>
<pre>
cd ~/.vim/tags/
ctags -f ~/.vim/tags/cpp -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ cpp_src
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp cpp_src
</pre>
</pre>
* Et enfin rajouter dans la configuration de Vim:
* Et enfin rajouter dans la configuration de Vim:
Ligne 49 : Ligne 48 :
* Générer les ctags :
* Générer les ctags :
<pre>
<pre>
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f qt /usr/include/Qt/
ctags -f ~/.vim/tags/qt -R --c++-kinds=+p --fields=+iaS --extra=+q /usr/include/Qt/
</pre>
</pre>
* Et rajouter dans la configuration de son Vim :
* Et rajouter dans la configuration de son Vim :

Dernière version du 3 février 2011 à 15:26

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 <C-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,preview

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 dossier tags</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