C++ avec Vim

De Ensiwiki
Aller à : navigation, rechercher

OmniCppComplete

OmniCppComplete : tes amis sous Visual C++ te rient au nez car EUX ont l'IntelliSense ? Ne cherche plus, avec ce plugin facile à coiffer et pratique pour l'hygiène buccodentaire, tu vas retrouver le sourire. En effet, après quelques minutes de configuration tu peux en un coup de C-X C-O avoir un petit menu te proposant les diverses complétion possibles en fonction du contexte. Il ouvre même automatiquement le menu dès que l'on tape '.' ou '->' voire même '::' (c'est bien évidement désactivable).

Installation

Dézipper le fichier dans votre répertoire $HOME/.vim

Pour afficher automatiquement le menu, ajoutez ces lignes à votre .vimrc :

set completeopt=menu
let OmniCpp_SelectFirstItem = 2

Utilisation

OmniCppComplete fonctionne grâce à un index de tags. Il existe des plugins qui créent la liste de tags automatiquement pour vous, mais si vous voulez la créer manuellement, utilisez cette commande :

map <C-F12> :!ctags * --c-types=+p --c++-kinds=+p --fields=+iaS --extra=+q .<CR>

Un petit CTRL + F12 et voilà votre liste de tags créée !

Exemple en situation

VIMOmniCppComplete.PNG

Seules les méthodes/propriétés de QApplication apparaissent dans le menu.

Pour aller plus loin avec ctags

C'est n'est pas du C++ mais ça donne une idée

Sur de gros projets C++, on peut vouloir avoir une "outline" à la Eclipse, qui montre une liste de toutes les classes, méthodes, etc. dans une petite fenêtre et permet de se promener dans son fichier beaucoup plus vite. On peut le faire aussi dans vim quand les ctags sont générés, à l'aide du plugin tagbar