Table des matières

, , , , ,

Vim comme EDI C

Chaque projet peut avoir des paramètres spécifiques. Il est possible de configurer vim afin qu'il charge un fichier .vimrc s'il est présent dans le répertoire courant:

Pour cela ajouter dans le fichier de configuration principal Vim de l'utilisateur ( ~/.vimrc)

set exrc
set secure

Après avoir défini ces options dans le fichier ~/.vimrc, des options spécifiques au projet pourront être définies à la racine du répertoire projet.

Paramètres généraux

" mise en forme et gestion des espacements
set noexpandtab
set tabstop=4
set softtabstop=4
set shiftwidth=4

" coloration syntaxique
augroup project
  autocmd!
  autocmd BufRead,BufNewFile *.h,*.c set filetype=c.doxygen
augroup END

Définir la variable path

La commande gf (go file) utilise les répertoires définis dans la variable path pour rechercher le chemin complet vers le fichier sous le curseur.

let &path.="src/include,/usr/include/AL,"

Auto complétion

Pour l'autocomplétion, le plugin recommandé est “YouCompleteMe”(YCM)

Installer YCM via Vundle

YCM permet de faire de l'autocomplétion pour divers langages, ici je n'active que la famille C/C++

$ sudo apt install build-essential cmake vim-nox python3-dev
 
cd ~/.vim/bundle/YouCompleteMe
python3 install.py --clang-completer

Arborescence

Pour générer une arborescence et y naviguer dans une fenêtre dédiée, on peut utiliser le plugin nerdtree

Éditer le fichier .vimrc et ajouter le plugin dans la section Vundle

call vundle#begin()
  ...
  Plugin 'preservim/nerdtree'
call vundle#end()

Configurer la commande de compilation

Vim intègre une commande de compilation qui par défaut appelle le programme externe make. On peut redéfinir le comportement de la commande via la variable makeprg

set makeprg=make\ -C\ ../build\ -j9

Il est également possible d'associer une touche raccourci pour déclencher l'appel de la commande:

nnoremap <F4> :make!<cr>

Configurer la commande d’exécution

Ici on associe à un touche raccourci une commande externe permettant de lancer l'application compilée:

nnoremap <F5> :!./my_great_program<cr>

Références