• [^] # Re: Coucours de vimrc

    Posté par . En réponse au journal Coucours de vimrc. Évalué à 4.

    Je rajouterais
    " mettre les fichiers temporaires toto.txt~ dans $HOME/tmp
    " Il va de soi qu'il faut d'abord le créer
    set backupdir=$HOME/tmp

    " Rendre facile d'éditer / source le .vimrc
    " idem pour éditer le .bashrc pendant qu'on y est
    " ,s SOURCER ; ,e EDITER ; ,b BASHRC
    nmap ,s :source $HOME/.vimrc
    nmap ,e :drop $HOME/.vimrc
    nmap ,b :drop $HOME/.bashrc

    " gvim fait un très bon lecteur de pages Man avec ,m
    " remplacez XXX par Ctrl-V
    nmap ,m :drop manXXX:set filetype=manXXXX:Man


    if has("autocmd")
    ...
    endif

    Ah non, pas les autocommandes !
    Depuis la version 6, il y a une manière bien plus propre de faire
    celà : le répertoire /.vim

    /home/jmfayard/.vim
    |-- doc
    | |-- latex-suite.txt *1*
    | `-- [... autres fichiers d'aides au format de l'aide en ligne de VIM.. ]
    |-- filetype.vim [... définir nos propres types de fichiers...]
    |-- ftplugin
    | |-- cpp.vim [... réglages spécifiques aux fichiers c++...]
    | |-- html_a.vim
    | |-- html_jm.vim
    | |-- mail_jm.vim
    | |-- [... autres réglagles spécifiques à un type de fichier...]
    |-- indent
    | `-- tex.vim [...fait-partie de latex-suite , indentation pour le langage tex...]
    |
    |-- plugin [... fonctionnalités supplémentaires ...]
    | |-- a.vim [...*2* simple et indispensable : alterne entre les fichiers
    | toto.h/toto.c ou toto.adb/toto.ads , ...]
    | |-- info.vim [...*3* pour lire les pages info, comme dans emacs..]
    | |-- matchit.vim [... ...]
    | |-- taglist.vim [...*4* indispensable pour circuler aisément dans un source...]
    | `-- vimspell.vim [...*5* interface avec ispell/aspell à la word...]
    |
    |-- syntax
    | |-- dada.vim [...la coloration syntaxique pour un langage
    ...pour lequel j'ai écrit un compilateur...]

    Vous comprenez le principe : des réglages en fonction de la valeur de :set ft?
    Exemples :

    $ cat ~/.vim/ftplugin/html_a.vim
    " Il y a beaucoup d'indentations en HTML
    setlocal tabstop=2 shiftwidth=2
    " Je n'aime pas les commentaires en HTML
    abbreviate /* <!--
    ab */ -->
    $ cat ~/.vim/ftplugin/mail_jm.vim
    setlocal textwidth=72 " Là, t'avais raison
    setlocal paste " voir :help paste

    filetype.vim me permet d'assigner le type de fichier dada
    pour les fichiers sources de mon langage dada.
    $ cat .vim/filetype.vim
    augroup filetypedetect
    au! BufRead,BufNewFile *.dada setfiletype dada
    augroup END

    Les autres fichiers sont des scripts qu'on peut télécharger
    sur le site www.vim.org
    *1* LaTeX-suite
    http://vim-latex.sourceforge.net/(...)
    *2* Alternate Files quickly (.c --> .h etc)
    http://www.vim.org/scripts/script.php?script_id=31(...)
    *3* GNU/Info brower
    http://www.vim.org/scripts/script.php?script_id=21(...)
    *4* Source code browser (supports C/C++, java, perl, python, tcl, sql, php, etc)
    http://www.vim.org/scripts/script.php?script_id=273(...)
    *5* Aspell/Ispell
    http://www.vim.org/scripts/script.php?script_id=465(...)