Journal Coucours de vimrc

Posté par  .
Étiquettes : aucune
0
26
mai
2003
Le but de ce concours est simple: proposez vos plus beaux ~/.vimrc, et devenez celeb^W et faites avancer la connaissance de chacun de ce merveilleux éditeur.

On votera samedi soir par SMS ou sur la tribune pour élire le vainqueur.
  • # Re: Coucours de vimrc

    Posté par  (site web personnel) . Évalué à 1.

    pourquoi faire compliqué quand on peut faire simple : set nocompatible set bs=2 set ts=2 set sw=2 set columns=80 "set background=dark set nobk set ruler set noexpandtab syntax on set modelines=0 silent !dcop $KONSOLE_DCOP_SESSION renameSession %
  • # Re: Coucours de vimrc

    Posté par  . Évalué à 1.

    charité bien ordonnée... [jeremy@inspiron:~/]$ cat ~/.vimrc syntax on set encoding=latin-1 set mouse=a set nu " Affiche les numeros de ligne 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 history=50 " Conserve 50 lignes d'historique des commandes set ruler " Montre toujours la position du curseur set tabstop=3 set wc= " autocompletion set modeline set cin set wildmenu set directory=/tmp if has("autocmd") "78 car sur 1 ligne max pour les mails autocmd BufRead .followup,.article*,.letter,/tmp/mutt*,*.txt set tw=78 augroup cprog au! autocmd FileType * set formatoptions=tcql nocindent comments& autocmd FileType c,cpp set formatoptions=croql cindent comments=sr:/*,mb:*,el:*/,:// "autocmd FileType php set expandtab shiftwidth=4 softtabstop=4 tabstop=4 augroup END endif " Macros map 0i/* $a */ map 0iprintf('$a');
    • [^] # Re: Coucours de vimrc

      Posté par  . É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(...)
      • [^] # Re: Coucours de vimrc

        Posté par  . Évalué à 1.

        Mince, j'ai oublié, pour matchit.vim,
        il s'agit d'un plugin livré avec la traduction, mais qui n'est pas activé
        par défaut.
        Read The Friendly Manuel avec :help matchit parce que
        c'est mieux expliqué que je ne pourrais le faire.
  • # Re: Coucours de vimrc

    Posté par  (site web personnel) . Évalué à 3.

    $ cat ~/.vimrc cat: /home/pascal/.vimrc: No such file or directory La conf par défaut me convient :-)
  • # Re: Coucours de vimrc

    Posté par  (site web personnel) . Évalué à 2.

    il y a aussi

    set showmatch

    qui montre la position de la parenthèse ouvrante quand on place la parenthèse fermante.
  • # Re: Coucours de vimrc

    Posté par  (site web personnel) . Évalué à 1.

    La mienne est la ... http://doublehp.org/vimrc(...)
    je sais pas comment elle marche, mais ca me va bien.
  • # Re: Coucours de vimrc

    Posté par  . Évalué à 1.

    ( 22:38:18 laurent@plop ~)$ ls -l /usr/bin/vi
    lrwxrwxrwx 1 root root 20 Mar 25 22:16 /usr/bin/vi -> /usr/bin/emacs
  • # Re: Coucours de vimrc

    Posté par  (site web personnel) . Évalué à 1.

    Moi j'ai aussi :
    "Complétion du nom de fichier à la BASH quand on fait ':e [Tab]'
    set wildmode=longest:list

    Et puis pour le "multi-fenêtrage" :
    "" F6 pour naviguer entre les fenêtres
    map <C-W>w
    imap <C-W>wi

    "" F5 pour réduire la fenêtre en cours (Shift F5 si split vertical)
    map <C-W>-
    imap <C-W>-i
    map <S-F5> <C-W><
    imap <S-F5> <C-W><i

    "" F7 pour agrandir la fenêtre en cours (Shift F5 si split vertical)
    map <C-W>+
    imap <C-W>+i
    map <S-F7> <C-W>>
    imap <S-F7> <C-W>>i

    Pour la compile et la recherche:

    "" Enregistre avant compilation, grep...
    set autowrite

    "" Navigation dans les erreurs (make et grep)
    map :cprev
    imap :cprevi
    map :cnext
    imap :cnexti

    Et pour indenter sans se prendre la tête (Sélection en mode visual puis '>' ou '<'):
    :vnoremap < <gv
    :vnoremap > >gv


    La complétion intelligente avec [Tab]:
    function InsertTabWrapper()
    let col = col('.') - 1
    if !col || getline('.')[col - 1] !~ '\k'
    return "\"
    else
    return "\<c-p>"
    endif
    endfunction
    inoremap <c-r>=InsertTabWrapper()

    Par contre j'aimerais bien savoir comment faire en sorte que cette complétion s'arrête dès qu'il y a ambiguïté au lieu de choisir la première possibilité. Une idée ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.