« Auto-complétion 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... »)
 
m (Typo)
 
(9 versions intermédiaires par 2 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
[[Category:Développement]]
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.
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.


Ligne 5 : Ligne 6 :
Les paquets nécessaires sont : vim, ctags
Les paquets nécessaires sont : vim, ctags


=Configuration de Vim=
=Auto-complétion Cpp/Qt4=
 
==Configuration de Vim==
Votre fichier de configuration doit comporter les commandes suivantes :
Votre fichier de configuration doit comporter les commandes suivantes :
<pre>
<pre>
set nocp
set nocp
filetype plugin on
filetype plugin on
" Reconstruire les tags de son projet avec Ctrl-F12
" Reconstruire les tags de son projet avec F12
map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
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 28 :
set completeopt=menuone,menu,longest
set completeopt=menuone,menu,longest
</pre>
</pre>
Avec cette configuration, F12 crééra 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==
Il faut d'abord récupérer [http://www.vim.org/scripts/script.php?script_id=1520 Omnicppcomplete].
Il faut d'abord récupérer [http://www.vim.org/scripts/script.php?script_id=1520 Omnicppcomplete].
Pour son installation :
Pour son installation :
* Le dézipper dans son dossier ~/.vim
* Le dézipper dans son dossier ~/.vim


=Tags C++=
==Tags C++==
Il faut ensuite télécharger les [http://www.vim.org/scripts/script.php?script_id=2358 stdc++ tags].
Il faut ensuite télécharger les [http://www.vim.org/scripts/script.php?script_id=2358 stdc++ tags].
* D'abord créer un dossier ~/.vim/tags si inexistant
* D'abord créer un dossier ~/.vim/tags si inexistant
Ligne 44 : Ligne 48 :
</pre>
</pre>


=Tags Qt4=
==Tags Qt4==
Plus rien de très compliqué :
Plus rien de très compliqué :
* Générer les ctags :
* Générer les ctags :

Dernière version du 10 février 2011 à 16:19

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

Auto-complétion Cpp/Qt4

Configuration de Vim

Votre fichier de configuration doit comporter les commandes suivantes :

set nocp
filetype plugin on
" Reconstruire les tags de son projet avec 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ééra 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 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