Page suivante Page précédente Table des matières

2. Configurez les fichiers d'initialisation de vim

Pour permettre la coloration syntaxique, vous devez copier le fichier vimrc dans votre répertoire personnel. Il ajoutera également le menu «Syntax» pour la commande gvim. Vous pouvez cliquer sur le menu Syntax et sélectionner le langage approprié, comme C++, Perl, Java, SQL, ESQL, etc.


cd $HOME
cp /usr/doc/vim-common-5.3/gvimrc_example  ~/.gvimrc
cp /usr/doc/vim-common-5.3/vimrc_example  ~/.vimrc

Les commentaires du .vimrc commencent avec les apostrophes ("). Vous pouvez personnaliser vim en éditant le fichier $HOME/.vimrc et en rajoutant les lignes suivantes :
"set guifont=9x15bold
set guifont=8x13bold
"set guifont=7x14bold
"set guifont=7x13bold

Le compteur «tabstop» est le nombre d'espaces que TAB ajoutera lorsque vous éditerez sous vim. Le compteur «shiftwidth» est le nombre d'espaces qui décaleront les lignes en tapant les commandes vi ">>" ou "<<". Référez vous au tutorial de Vim pour plus de détails. Pour mettre en place tabstop et shiftwidth :
set tabstop=4
set shiftwidth=4
set nowrapscan
set ignorecase

2.1 Paramètres du Xdefaults

Vous pouvez configurer quelques unes des propriétés de Vim dans le fichier Xdefaults.

ATTENTION: Ne mettez pas Vim*geometry, il coincerait les menu gvim, utilisez plutôt Vim.geometry à la place.

Éditez votre $HOME/.Xdefaults et ajoutez les lignes suivantes :


! GVim super couleurs.
Vim*useSchemes:         all
Vim*sgiMode:            true
Vim*useEnhancedFSB:     true
Vim.foreground:         Black
!Vim.background:        lightyellow2
Vim*background:         white
! N'utilisez PAS Vim*geometry, il coincerait les menu gvim,
! utilisez Vim.geometry. Un astérisque entre Vim et geometry n'est pas autorisé.
! Vim.geometry: widthxheight
Vim.geometry:           88x40
!Vim*font:              -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso8859-15-*5
Vim*menuBackground: yellow
Vim*menuForeground: black

Vous devrez relancer le gestionnaire X pour que vos changements soient effectifs.

Vous pouvez aussi éditer votre fichier  /.gvimrc pour changer les couleurs de fond :


        gvim $HOME/.gvimrc

2.2 Fichier vimrc d'exemple

Le fichier d'exemple de vim-5.5/runtime/vimrc_example est celui-ci :

" 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'autoindentation
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ées 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, désactive les.
  "   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écompresser 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 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")

2.3 Fichier gvimrc d'exemple

L'exemple de gvimrc de vim-5.5/runtime/gvimrc_example ressemble à celui-ci :


" Un exemple de fichier gvimrc.
" Ces commandes sont exécutées lors du lancement de l'interface graphique.
"
" Mainteneur :  Bram Moolenaar <Bram@vim.org>
" Dernières modifications : 2 Fév 1999
"
" Pour l'utiliser, copiez le dans
"      pour Unix et OS/2 :  ~/.gvimrc
"             pour Amiga :  s:.gvimrc
"  pour MS-DOS and Win32 :  $VIM\_gvimrc

" Passe les commandes externes par un tuyau au lieu d'un pseudo-tty
"set noguipty

" Active la fonte X11 à utiliser
" set guifont=-misc-fixed-medium-r-normal--14-130-75-75-c-70-iso8859-1

" Rend la ligne de commande de 2 lignes plus grande
set ch=2

" Permet le shift-insert fonctionnel comme dans les Xterm
map <S-Insert> <MiddleMouse>
map! <S-Insert> <MiddleMouse>

" Ne fait ceci que pour Vim de version 5.0 et ultérieure.
if version >= 500

  " J'aime avoir des chaînes éclairées dans les commentaires C
  let c_comment_strings=1

  " Active la coloration syntaxique.
  syntax on

  " Active la coloration de la chaîne recherchée.
  set hlsearch

  " Pour la version Win32, on a "K" qui cherche le keyword dans un fichier d'aide
  "if has("win32")
  "  let winhelpfile='windows.hlp'
  "  map K :execute "!start winhlp32 -k <cword> " . winhelpfile <CR>
  "endif

  " Cache le pointeur de souris lorsque l'on tape
  set mousehide

  " Utilise des couleurs sympathiques
  " Le fond pour le texte normal est en gris clair
  " Le texte sous la dernière ligne est en gris sombre
  " Le curseur est gris
  " Les constantes ne sont pas soulignées mais ont un fond légèrement plus clair
  highlight Normal guibg=grey90
  highlight Cursor guibg=Green guifg=NONE
  highlight NonText guibg=grey80
  highlight Constant gui=NONE guibg=grey95
  highlight Special gui=NONE guibg=grey95

endif


Page suivante Page précédente Table des matières