  HOWTO de l'diteur Vim (Vi amlior, avec coloration syntax
  ique)
  Al Dev (Alavoor Vasudevan) alavoor@yahoo.com;
  Version franaise par Arnaud Launay, alaunay@free.fr
  v1.0, 14 Octobre 1999

  Ce document est un guide pour configurer trs rapidement l'diteur Vim
  sur les systmes Linux ou Unix. Les informations prsentes ici aug
  menteront la productivit du programmeur puisque l'diteur Vim sup
  porte la coloration syntaxique et les fontes grasses qui augmentent la
  lisibilit du code.  Les informations de ce document s'appliquent 
  tous les systmes d'exploitation sous lesquels Vim fonctionne,
  c'est--dire Windows 95/NT, et toutes les versions d'Unix telles que
  Linux, FreeBSD, Solaris, HPUX, AIX, SCO, Sinix, BSD, SCO, etc.
  ______________________________________________________________________

  Table des matires


  1. Introduction

  2. Configurez les fichiers d'initialisation de vim

     2.1 Paramtres du Xdefaults
     2.2 Fichier vimrc d'exemple
     2.3 Fichier gvimrc d'exemple

  3. Fichier d'initialisation de la coloration syntaxique

  4. Usage de Vim

  5. Aide de Vim en ligne

  6. Pages web de Vim et liens Vim

  7. Autres formats de ce document



  ______________________________________________________________________

  11..  IInnttrroodduuccttiioonn

  L'diteur Vim signifie Vi Improved (Vi amlior). Vi est l'diteur
  le plus populaire et le plus puissant du monde Unix. Un bon diteur
  augmentera la productivit du programmeur. Vim supporte la coloration
  syntaxique du code ainsi que diffrentes fontes, normales ou grasses.

  Pour utiliser Vim, installez les paquetages rpm suivants sous redhat -

  ______________________________________________________________________
          rpm -i vim*.rpm
  Ou comme ceci -
          rpm -i vim-enhanced*.rpm
          rpm -i vim-X11*.rpm
          rpm -i vim-common*.rpm
          rpm -i vim-minimal*.rpm
  ______________________________________________________________________


  Vous pouvez voir la liste des fichiers vim que rpm a install par





  ______________________________________________________________________

          rpm -qa | grep ^vim | awk '{print "rpm -ql " $1 }' | /bin/sh | less
  ______________________________________________________________________


  Et regardez la sortie en utilisant j, k, CTRL+f, CTRL+D, CTRL+B,
  CTRL+U ou les touches flches, page up/down. Voyez aussi man less.

  Pour les autres versions d'unix, rcuprez les fichiers sources:

  ______________________________________________________________________

          zcat vim.tar.gz | tar -xvf -
          cd vim-5.5/src
          ./configure --enable-gui=motif
          make
          make install
  ______________________________________________________________________



  Pour Windows 95/NT, rcuprez les fichiers zip et installez-les en
  cliquant sur setup.


  22..  CCoonnffiigguurreezz lleess ffiicchhiieerrss dd''iinniittiiaalliissaattiioonn ddee vviimm

  Pour permettre la coloration syntaxique, vous devez copier le fichier
  vimrc dans votre rpertoire personnel. Il ajoutera galement le menu
  Syntax pour la commande gvim. Vous pouvez cliquer sur le menu Syntax
  et slectionner 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 dcaleront les lignes en tapant les commandes vi ">>" ou
  "<<". Rfrez vous au tutorial de Vim pour plus de dtails.  Pour met
  tre en place tabstop et shiftwidth :

  ______________________________________________________________________
  set tabstop=4
  set shiftwidth=4
  set nowrapscan
  set ignorecase
  ______________________________________________________________________

  22..11..  PPaarraammttrreess dduu XXddeeffaauullttss

  Vous pouvez configurer quelques unes des proprits de Vim dans le
  fichier Xdefaults.

   AATTTTEENNTTIIOONN:: _N_e _m_e_t_t_e_z _p_a_s VViimm**ggeeoommeettrryy, il coincerait les menu gvim,
  utilisez plutt VViimm..ggeeoommeettrryy  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 astrisque 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..22..  FFiicchhiieerr vviimmrrcc dd''eexxeemmppllee

  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>
  " Dernires 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 dfauts 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'entres 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 slectionn 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 dernire chane recherche.
  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
   " caractres
   autocmd BufRead *.txt set tw=78

   augroup cprog
    " Supprime toutes les autocommandes cprog
    au!

    " Lors du dbut d'dition d'un fichier :
    "   Pour les fichiers C et C++ active le formatage des
    "   commentaires et l'indentation C
    "   Pour les autres fichiers, dsactive 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 gzipps
    " 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")

    " Aprs la lecture du fichier compress : Dcompresse 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

    " Aprs 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 : Dcompresser 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 dsactiv, car il change la liste de sauts. On ne peut utiliser
   " CTRL-O pour revenir en arrire dans les fichiers prcdents plus d'une fois.
   if 0
    " Lors de l'dition d'un fichier, saute toujours  la dernire position du curseur.
    " Ceci doit se trouver aprs les commandes de dcompression.
     autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal `\"" | endif
   endif

  endif " has("autocmd")





  22..33..  FFiicchhiieerr ggvviimmrrcc dd''eexxeemmppllee

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















  ______________________________________________________________________
  " Un exemple de fichier gvimrc.
  " Ces commandes sont excutes lors du lancement de l'interface graphique.
  "
  " Mainteneur :        Bram Moolenaar <Bram@vim.org>
  " Dernires modifications : 2 Fv 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 ultrieure.
  if version >= 500

    " J'aime avoir des chanes claires dans les commentaires C
    let c_comment_strings=1

    " Active la coloration syntaxique.
    syntax on

    " Active la coloration de la chane recherche.
    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 dernire ligne est en gris sombre
    " Le curseur est gris
    " Les constantes ne sont pas soulignes mais ont un fond lgrement 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
  ______________________________________________________________________







  33..  FFiicchhiieerr dd''iinniittiiaalliissaattiioonn ddee llaa ccoolloorraattiioonn ssyynnttaaxxiiqquuee

  Au lieu d'utiliser un menu "Syntax" vous pouvez lire manuellement le
  fichier de syntaxe. ditez le fichier avec gvim et donnez la commande
  so  : (en mode d'chappement). Par exemple :

  ______________________________________________________________________
          gvim foo.pc
          :so $VIM/syntax/esqlc.vim
  ______________________________________________________________________


  Les fichiers de syntaxe sont dans /usr/share/vim/syntax/*.vim. Vim
  supporte plus de 120 fichiers de syntaxe diffrents !


  44..  UUssaaggee ddee VViimm

  Vous pouvez utiliser Vim sous deux modes, l'un avec interface
  graphique et l'autre sans. Pour utiliser l'interface graphique
  utilisez la commande :

  ______________________________________________________________________
          gvim foo.cpp
  ______________________________________________________________________


  Pour utiliser le mode non-graphique utilisez :

  ______________________________________________________________________
          vim foo.cpp
  ou le mode ancien
          vi foo.cpp
  ______________________________________________________________________




  55..  AAiiddee ddee VViimm eenn lliiggnnee

  Voyez les pages de manuel en ligne. Au prompt unix, tapez 'man vim' et
  'man gvim'.

  Ou lors d'une session gvim tapez :help pour obtenir la page d'aide.


  66..  PPaaggeess wweebb ddee VViimm eett lliieennss VViimm

  La page principale de vim se trouve sur  <http://www.vim.org>, et son
  site miroir aux US est sur  <http://www.us.vim.org>.

  La FAQ Vim est sur  <http://www.grafnetix.com/~laurent/vim/faq.html>
  et sur  <http://www.vim.org/faq>.

  La page Vim d'Eli se trouve sur
  <http://www.netusa.net/~eli/src/vim.html>.

  La page des amoureux de Vi sur  <http://www.cs.vu.nl/~tmgil/vi.html>.

  Le guide de rfrence sur Vim sur
  <http://scisun.sci.ccny.cuny.edu/~olrcc/vim/>.

  Les listes de diffusion Vim sont sur
  <http://www.findmail.com/listsaver/vimannounce.html> et
  <http://www.vim.org/mail.html>.

  Les archives des listes sont conserves sur:

    <http://www.egroups.com/group/vim>

    <http://www.egroups.com/group/vimdev>

    <http://www.egroups.com/group/vimannounce>

  Les macros Vim sont sur
  <http://www.grafnetix.com/~laurent/vim/macros.html>.


  77..  AAuuttrreess ffoorrmmaattss ddee ccee ddooccuummeenntt

  Ce document est publi sous 10 formats diffrents, nommment - DVI,
  Postscript, Latex, LyX, GNU-info, HTML, RTF(Rich Text Format), Plain-
  text, pages man Unix et SGML.

    Vous pouvez obtenir ce document howto sous la forme d'une archive
     tar en html, dvi, postscript et sgml de :
     <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/other-formats/> ou
     <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO/other-formats/>

    Le format texte plein est sur :
     <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO> ou
     <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO>

    Les traductions dans d'autres langages comme franais, allemand,
     espagnol, chinois, japonais sont sur
     <ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO> ou
     <ftp://metalab.unc.edu/pub/Linux/docs/HOWTO> Toute aide de votre
     part pour traduire ce document dans d'autres langages est la
     bienvenue.

     Ce document est crit en utilisant un outil nomm SGML tools qui
     peut tre obtenu de : <http://www.xs4all.nl/~cg/sgmltools/> Pour
     compiler le source vous obtiendrez les commandes suivantes comme :

    sgml2html vim-howto.sgml     (pour gnrer un fichier html)

    sgml2rtf  vim-howto.sgml     (pour gnrer un fichier RTF)

    sgml2latex vim-howto.sgml    (pour gnrer un fichier latex)

  Ce document se trouve sur :

    <http://sunsite.unc.edu/LDP/HOWTO/VIM-HOWTO.html>

  Vous pouvez aussi trouver ce document sur les sites miroirs suivants :

    <http://www.caldera.com/LDP/HOWTO/VIM-HOWTO.html>

    <http://www.WGS.com/LDP/HOWTO/VIM-HOWTO.html>

    <http://www.cc.gatech.edu/linux/LDP/HOWTO/VIM-HOWTO.html>

    <http://www.redhat.com/linux-info/ldp/HOWTO/VIM-HOWTO.html>

    D'autres sites miroirs prs de vous ( l'chelle du rseau) peuvent
     se trouver sur <http://sunsite.unc.edu/LDP/hmirrors.html>
     slectionnez un site et allez voir le fichier /LDP/HOWTO/VIM-
     HOWTO.html.

  Afin de voir un document au format dvi, utilisez le programme xdvi. Le
  programme xdvi se trouve dans le paquetage tetex-xdvi*.rpm de la
  Redhat Linux qui peut se trouver dans ControlPanel | Applications |
  Publishing | TeX.


               Pour lire un document dvi utilisez la commande :
                       xdvi -geometry 80x90 howto.dvi
               Et redimmensionnez la fentre avec une souris. Voyez la page man de
               xdvi. Pour naviguer utilisez les flches, les touches page up, down,
               ou galement les lettres 'f', 'd', 'u', 'c', 'l', 'r', 'p', 'n' pour
               monter, descendre, centrer, page suivante, page prcdente, etc. Pour
               supprimer le menu expert appuyez sur 'x'.




  Vous pouvez lire le fichier postscript avec le programme 'gv'
  (ghostview) ou Le programme ghostscript est dans le paquetage
  ghostscript*.rpm et le programme gv dans gv*.rpm, qui se trouvent sous
  ControlPanel | Applications | Graphics. Le programme gv est beaucoup
  plus agrable  utiliser que ghostscript. Ghostscript et gv sont aussi
  disponibles sous d'autres plateformes comme OS/2, Windows 95 et NT.


               Pour lire le document postscript utilisez la commande :
                       gv howto.ps

               Pour utiliser ghostscript lancez :
                       ghostscript howto.ps




  Vous pouvez lire le document en html en utilisant Netscape Navigator,
  Microsoft Internet explorer, Redhat Baron ou tout autre navigateur
  web.

  Vous pouvez lire la sortie LaTeX ou LyX en utilisant LyX ou vim.






























