Vimrc

De Vim-fr.


Le fichier .vimrc est à placer dans votre "home", et sera votre fichier de configuration pour vim. Par défaut lorsque vous installez Vim, il n'y pas de .vimrc : c'est à vous de le créer. Pour le créer, il faudra lancer vim :

<source lang="bash"> vim .vimrc </source>

Si par exemple vous voulez rajouter la coloration syntaxique, il faudra mettre:

<source lang="vim"> syntax on </source>

Beaucoup d'options sont possibles : l'auto-indentation par exemple, et beaucoup d'autres choses. N'hésitez pas à nous faire partager vos .vimrc en essayant de les commenter un peu.


Exemple

<source lang="vim"> " Un exemple de fichier vimrc. " " Mainteneur : Bram Moolenaar <Bram@vim.org> " Dernières modifications : 9 Sep 1999 " " Pour l'utiliser, copiez le dans " pour Unix et OS/2 : ~/.vimrc " pour Amiga : s:.vimrc " pour MS-DOS and Win32 : $VIM\_vimrc

set nocompatible " Utilise les défauts Vim (bien mieux !) set bs=2 " autorise l'effacement de tout en mode insertion set ai " toujours utiliser l'auto-indentation set backup " Conserver un fichier de sauvegarde

set viminfo='20,\"50 " Lit/écrit un fichier .viminfo, ne sauve pas plus

                       " de 50 lignes de registres

set history=50 " Conserve 50 lignes d'historique des commandes set ruler " Montre toujours la position du curseur

" Pour l'interface Win32: retirez l'option 't' de 'guioptions': pas d'entrée menu tearoff " let &guioptions = substitute(&guioptions, "t", "", "g")

" N'utilise pas le mode Ex, utilise Q pour le formatage map Q gq

" p en mode Visuel remplace le texte sélectionné par le registre "". vnoremap p <Esc>:let current_reg = @"<CR>gvdi<C-R>=current_reg<CR><Esc>

" Active la coloration syntaxique lorsque le terminal dispose de couleurs " Active aussi la coloration de la dernière chaîne recherchée. if &t_Co> 2 || has("gui_running")

syntax on
set hlsearch

endif

" Ne lance la partie suivante que si le support des autocommandes a été inclus " lors de la compilation if has("autocmd")

" Dans les fichiers textes, toujours limiter la longueur du texte à 78
" caractères
autocmd BufRead *.txt set tw=78
augroup cprog
" Supprime toutes les autocommandes cprog
au!
" Lors du début d'édition d'un fichier :
"   Pour les fichiers C et C++ active le formatage des
"   commentaires et l'indentation C
"   Pour les autres fichiers, les désactive.
"   Ne pas changer l'ordre, il est important que la ligne
"   avec * arrive avant.
autocmd FileType *      set formatoptions=tcql nocindent comments&
autocmd FileType c,cpp  set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,://
augroup END
augroup gzip
" Supprime toutes les autocommandes gzip
au!
" Active l'édition des fichiers gzippés
" Active le mode binaire avant de lire le fichier
autocmd BufReadPre,FileReadPre        *.gz,*.bz2 set bin
autocmd BufReadPost,FileReadPost      *.gz call GZIP_read("gunzip")
autocmd BufReadPost,FileReadPost      *.bz2 call GZIP_read("bunzip2")
autocmd BufWritePost,FileWritePost    *.gz call GZIP_write("gzip")
autocmd BufWritePost,FileWritePost    *.bz2 call GZIP_write("bzip2")
autocmd FileAppendPre                 *.gz call GZIP_appre("gunzip")
autocmd FileAppendPre                 *.bz2 call GZIP_appre("bunzip2")
autocmd FileAppendPost                *.gz call GZIP_write("gzip")
autocmd FileAppendPost                *.bz2 call GZIP_write("bzip2")
" Après la lecture du fichier compressé : décompresse le texte dans le
" buffer avec "cmd"
fun! GZIP_read(cmd)
let ch_save = &ch
set ch=2
execute "'[,']!" . a:cmd
set nobin
let &ch = ch_save
execute ":doautocmd BufReadPost " . expand("%:r")
endfun
" Après l'écriture du fichier compressé : compresse le fichier écrit avec "cmd"
fun! GZIP_write(cmd)
if rename(expand("<afile>"), expand("<afile>:r")) == 0
execute "!" . a:cmd . " <afile>:r"
endif
endfun
" Avant l'ajout au fichier compressé : décompresse le fichier avec "cmd"
fun! GZIP_appre(cmd)
execute "!" . a:cmd . " <afile>"
call rename(expand("<afile>:r"), expand("<afile>"))
endfun
augroup END
" Ce qui suit est désactivé, car il change la liste de sauts. On ne peut pas utiliser
" CTRL-O pour revenir en arrière dans les fichiers précédents plus d'une fois.
if 0
" Lors de l'édition d'un fichier, saute toujours à la dernière position du curseur.
" Ceci doit se trouver après les commandes de décompression.
autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif
endif

endif " has("autocmd") </source>

.vimrc des membres du wiki

Note: d'autres .vimrc sont listés sur  la page d'accueil.

Liens externes

  • (en) un site qui regroupe beaucoup de fichiers .vimrc.