.vimrc 5.45 KB
Newer Older
1 2
" .vimrc générique mis à votre disposition
" par les gentils membres actifs du Cr@ns
Vincent Le gallic's avatar
Vincent Le gallic committed
3
" Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
4 5 6 7 8 9 10
" Des questions, des suggestions : {nounou,ca}@lists.crans.org
" Licence : WTFPL

" Les sections commentées par "~" sont des features qui ne sont pas activées
" par défaut. Sentez-vous libre de les décommenter pour les utiliser.

"------------------------------------------------------------------------------
11

12
" Pour charger de la configuration avant la configuration crans
Fardale's avatar
Fardale committed
13
if filereadable(expand("~/.vimrc_before"))
14 15
  source ~/.vimrc_before
endif
16

17 18 19 20
" +-----------+
" | Affichage |
" +-----------+

21 22
" Affiche la commande en train d'être tapée en bas à droite de l'écran
set showcmd
23

24 25 26 27 28 29
" Affiche le nom du fichier et le chemin dans le titre du terminal
set title

"~" " N'affiche pas sur plusieurs lignes les lignes qui sont plus grandes que la fenêtre (comme sous nano)
"~" set nowrap

Fardale's avatar
Fardale committed
30 31 32
"~" " Montre brièvement la paire de parenthèse lors de sa fermeture
"~" set showmatch

33 34 35 36 37 38 39 40 41 42 43 44
"~" " Optimise la coloration de vim pour l'adapter à un terminal sombre (par défaut 'light')
"~" set background=dark

" ~~ Numérotation ~~
" Affiche 'ligne,n de caractère,colonne' en bas à droite du terminal
set ruler

" Affiche les numéros de lignes à gauche du terminal
set number

" Retire la marge à gauche sur les numéros de lignes
set numberwidth=2
45

46 47 48 49 50
"~" " Surligne la ligne du curseur
"~" set cursorline

"~" " Surligne la colonne du curseur
"~" set cursorcolumn
51 52 53 54 55 56

" +-----------------+
" | Édition de code |
" +-----------------+

" ~~ Coloration syntaxique ~~
Fardale's avatar
Fardale committed
57 58 59 60 61
" Active la coloration syntaxique pour le type de fichier détecté
if has("syntax")
  syntax on
endif

62
" ~~ Indentation et tabulation ~~
Fardale's avatar
Fardale committed
63 64 65 66
" Active les régles d'indentation pour le type de fichier détecté
if has("autocmd")
  filetype plugin indent on
endif
67

68 69
"~" " Conserve l'indentation de la ligne précédente lors d'un retour à la ligne
"~" set autoindent
70

Fardale's avatar
Fardale committed
71 72 73
"~" " Ne suprime pas l'indentation faite par 'autoindent' si la ligne est laissé vide
"~" set cpoptions+=I

74 75 76 77 78
"~" " Met les tabulations à 4 colonnes
"~" set tabstop=4

"~" " Indente à 4 colonnes pour les opérations de réindentation
"~" set shiftwidth=4
Fardale's avatar
Fardale committed
79
"~" set shiftwidth=4 " pour <<, >> et ==
80 81 82

"~" " Remplace les (futures) tabulations par des espaces
"~" set expandtab
Fardale's avatar
Fardale committed
83 84
"~" " On veut des tabulations dans les MakeFiles
"~" autocmd FileType make set noexpandtab tabstop=4 shiftwidth=2 nopi ci
85

86 87
"~" " Ctrl-p change entre le mode paste et nopaste
"~" set pastetoggle=<C-P>
88

89 90 91
"~" " Utilise le presse papier system (nécessite vim-gnome sous Debian)
"~" set clipboard^=unnamedplus

92
"~" "Les fichiers .ssh/config_* sont considérés comme des fichiers de
Fardale's avatar
Fardale committed
93 94
"~" "configuration pour ssh.
"~" au BufNewFile,BufRead */.ssh/config_*  setf sshconfig
95

96 97 98 99 100
" +---------------------------+
" | Recherche et substitution |
" +---------------------------+

" ~~ Recherche ~~
101 102 103 104 105 106
" Commence la recherche dès les premiers caractères tapés (comme sous less)
set incsearch

"~" " Surligne les correspondances dans les recherches
"~" " (Exécuter nohl pour désactiver les hl (ils restent même une fois la recherche terminée))
"~" set hlsearch
107

Fardale's avatar
Fardale committed
108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124
"~" " Rend la recherche insensible aux majuscules et minuscules, sauf si le
"~" " motif contient une majuscule
"~" set ignorecase
"~" set smartcase

" +-----------------------------+
" | Enregistrement et fermeture |
" +-----------------------------+

"~" " Enregistre automatiquement pour certaines commandes, notament make (voir :help autowrite)
"~" set autowrite

"~" " Met à jour automatiquement les fichiers modifiés hors de vim
"~" set autoread

"~" " Pose la question au lieu d'échouer lors de la fermeture quand il y des
"~" " modifications non sauvées et que ! n'est pas précisé.
125
"~" set confirm
126 127 128 129 130

" +--------+
" | Divers |
" +--------+

131 132
" Change la taille de l'historique des commandes (par défaut 20)
set history=50
133

134 135 136
"~" " Change le comportement de la TAB-complétion : on complète au plus long
"~" " au premier appui, on affiche la liste des possibilités au deuxième
"~" set wildmode=longest,list
137

Fardale's avatar
Fardale committed
138 139 140 141 142 143 144
"~" " Active l'utilisation de la souris. (Ne marche qu'avec certains terminaux voir :help mouse)
"~" set mouse=a

"~" " Permet aux flèches droites et gauches de déplacer le curseur au début de
"~" " de la prochaine ligne ou à la fin de la précédente ligne
"~" set whichwrap=b,s,<,>,[,]

145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168
" +------------------+
" | Hacks et scripts |
" +------------------+

" ~~ Hack pour mettre en rouges les espaces indésirables en fin de ligne. ~~
" ~~ Ne gêne pas la vue en mode édition. ~~
" ~~ Adapté de http://vim.wikia.com/wiki/Highlight_unwanted_spaces ~~

"~" highlight EspaceFinLigne ctermbg=red guibg=red
"~" match EspaceFinLigne /\s\+$/
"~" autocmd BufWinEnter * match EspaceFinLigne /\s\+$/
"~" autocmd InsertEnter * match EspaceFinLigne /\s\+\%#\@<!$/
"~" autocmd InsertLeave * match EspaceFinLigne /\s\+$/
"~" autocmd BufWinLeave * call clearmatches()

" ~~ Coloration du fond après n colonnes ~~
" ~~ /!\ Seulement pour vim 7.3 et plus /!\ ~~
" ~~ Adapté de http://blog.hanschen.org ~~

"~" highlight ColorColumn ctermbg=DarkGrey guibg=DarkGrey
"~" if exists('+colorcolumn')
"~"     execute "set colorcolumn=".join(range(81,335), ',')
"~" endif

Fardale's avatar
Fardale committed
169 170 171
"~" " Surligne les espaces insécables
"~" au BufEnter * hi Nbsp ctermbg=233 guibg=black
"~" au BufEnter * match Nbsp /\%uA0/
172 173 174 175 176

" +-------+
" | Perso |
" +-------+

177
" Pour charger de la configuration après la configuration crans
Fardale's avatar
Fardale committed
178
if filereadable(expand("~/.vimrc_after"))
179 180
  source ~/.vimrc_after
endif