====== Bien configurer son .vimrc ====== Voici les sources commentées de mon ''.vimrc''. " {{{ 1. Options generales " Ne pas utiliser le mode de compatibilité vi set nocompatible " Encodage par défaut des buffers et des fichiers set encoding=utf-8 set fileencoding=utf-8 " On transmet les 'beep' au terminal, on ne 'flash' pas set noerrorbells " Parenthèses électriques set showmatch " Pas de souris, boudiou ! set mouse= " Taille maximale d'une ligne set textwidth=80 " Complétion en mode insertion () set completeopt=longest,menuone " {{{ 2 Indentation " Indentation gérée par les plugins plutôt que par autoindent set noautoindent filetype plugin indent on filetype indent on " On remplace les \t par des espaces set expandtab " Largeur de l'autoindentation set shiftwidth=2 " Largeur de l'indentation avec set softtabstop=4 " Largeur du caractère set tabstop=1 " Indentation pour C (je ne sais plus ce que ça fait) set cinoptions={.5s,+.5s,t0,n-1,p2s,(03s,=.5s,>1s,=1s,:1s " {{{ 3 Recherche et substitution " La recherche reprend au début du fichier (resp à la fin) une fois la fin (resp " le début) atteint. set wrapscan " Highlight les paterns recherchés set hlsearch " Recherche en live set incsearch " {{{ 4 Surlignage, couleurs et police " Configuration du thème de couleur colo darkblue "default torte darkblue " Coloration syntaxique syntax on " et pour la coloration du shell : let g:is_posix = 1 " Configuration du hilight quand vim est dans un terminal couleur hi Normal ctermfg=gray ctermbg=black " Configuration du hilight pour gvim hi Normal guifg=#c0c0c0 guibg=#000040 " Configuration du parsing pour la coloration syntaxique "syn sync minlines=10000 maxlines=10000 " Numérotation automatique des fichiers C++ (désactivée) "autocmd FileType cpp set number " {{{ 4 Ligne de statut et Menu " Options pour le GUI " m : afficher la barre de menu " T : afficher la toolbar " g : les menus inactifs sont grisés " r : afficher la barre de défilement à droite " L : afficher la barre de défilement à gauche quand l'écran est vsplité " a=autoselect : le texte sélectionné en VISUAL est copié dans le pressepapier PRIMARY set guioptions=mgTrLa " Complétion dans la barre de commande set wmnu set wildmode=list:longest,list:full " Fichiers ignorés lors de la complétion set wildignore=*.o,*.r,*.so,*.sl " Taille de l'historique de la barre de commandes set history=2000 " Affichage de la position dans le fichier dans la barre de statut set ruler " Configuration de l'affichage de la date et de la position dans le fichier set rulerformat=%27(%{strftime('%a\ %e\ %b\ %I:%M\ %p')}\ %2l,%-2(%c%V%)\ %P%) " Affichage du mode dans la barre de statut set showmode " Affichage intelligent des avertissements (file format, file status, etc.) set shm=a " La ligne de statut est l'avant dernière ligne set laststatus=2 " {{{ 5 Fenetres " Hauteur minimale d'une fenêtre active set winheight=1 " Hauteur minimale d'une fenêtre set winminheight=0 " Ne redimensionne pas automatiquement toutes les fenêtres lors de " l'ouverture/fermeture de l'une d'entre elles set noequalalways " Ajoute les nouvelles fenêtres en dessous ou à droite set splitbelow set splitright " {{{ 5bis Tabs " Raccourcis claviers pour les Tabs map :tabnew nmap :tabnext nmap :tabprevious " {{{ 6 Sauvegarde " Fait une copie de sauvegarde lors de l'écrasement d'un fichier set backup " Dossier contenant la sauvegarde. N'oubliez pas de le créer et de lui faire un " chmod 700 set backupdir=~/.backup " {{{ 7 Unixage " Path pour la recherche de fichier avec :find, :sfind et :tabfind set path=.,/usr/include,/usr/X11R6/include,/usr/local/include " Le texte sélectionné en mode visuel est collé dans le presse-papier PRIMARY set clipboard=autoselect " Shell par défaut set shell=/bin/sh " {{{ 8 Mapping " Supprimer les blancs en début de ligne nmap _S :%s/^\s\+// " Bien interpréter les caractères de contrôle nmap [1;5D nmap [1;5C nmap Oa nmap [1;5B "indentation automatique vnoremap =$ vnoremap = nnoremap =$ nnoremap mzvip=`z " Génération des tags pour les fichiers à la C++ map :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . " {{{ 9 Plugin "source /usr/share/vim-scripts/games/VimSokoban/sokoban.vim "source /usr/share/vim-scripts/plugin/bufexplorer.vim "source /usr/share/vim-scripts/plugin/taglist.vim "Le plugin 2html utilise le CSS let html_use_css = 1 "Configuration de vimspell let loaded_vimspell = 1 set spelllang=fr set spellsuggest=10 let spell_executable = "aspell" let spell_auto_type = '' let spell_insert_mode = 0 " Configuration OmbiCpp (C++) let OmniCpp_DefaultNamespaces=["std", "_GLIBCXX_STD"] let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_NamespaceSearch = 1 let OmniCpp_MayCompleteDot = 1 let OmniCpp_MayCompleteArrow = 1 let OmniCpp_MayCompleteScope = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " Configuration de taglist "set tags+=~/.vim/tags/stl ===== Voir aussi ===== * [[http://linux-attitude.fr/post/Vimrc-collaboratif|Un .vimrc collaboratif]] sur http://linux-attitude.fr/ * [[http://agriffis.n01se.net/skel.hg/index.cgi/file/d59d4656cbec/vimrc|Un autre]] sur http://agriffis.n01se.net/