Traductions de cette page?:

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 (<C-n>)
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 <tab>
set softtabstop=4
" Largeur du caractère <tab>
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 <C-Down>  :tabnew <CR>
nmap <C-Right> :tabnext <CR>
nmap <C-Left>  :tabprevious <CR> 
 
" {{{ 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\+//<CR>
 
" Bien interpréter les caractères de contrôle
nmap <ESC>[1;5D <C-Left>
nmap <ESC>[1;5C <C-Right>
nmap <ESC>Oa <C-Up>
nmap <ESC>[1;5B <C-Down>
 
"indentation automatique
vnoremap <C-F>	=$
vnoremap <tab>	=
nnoremap <tab>	=$
nnoremap <C-tab> mzvip=`z
 
" Génération des tags pour les fichiers à la C++
map <F11> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
 
" {{{ 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

 
tuto_nix/vim/config_vimrc.txt · Dernière modification: 16/12/2009 18:35 (modification externe)