.vimrc 5.37 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
13
"~" source ~/.vimrc_before
14

15 16 17 18
" +-----------+
" | Affichage |
" +-----------+

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

22 23 24 25 26 27
" 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
28 29 30
"~" " Montre brièvement la paire de parenthèse lors de sa fermeture
"~" set showmatch

31 32 33 34 35 36 37 38 39 40 41 42
"~" " 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
43

44 45 46 47 48
"~" " Surligne la ligne du curseur
"~" set cursorline

"~" " Surligne la colonne du curseur
"~" set cursorcolumn
49 50 51 52 53 54

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

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

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

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

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

72 73 74 75 76
"~" " 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
77
"~" set shiftwidth=4 " pour <<, >> et ==
78 79 80

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

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

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

90 91 92 93
"~" "Les fichiers .ssh/config_* sont considérés comme des fichiers de
"~ "configuration pour ssh.
"~" au BufNewFile,BufRead */ssh/config_*  setf sshconfig

94 95 96 97 98
" +---------------------------+
" | Recherche et substitution |
" +---------------------------+

" ~~ Recherche ~~
99 100 101 102 103 104
" 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
105

Fardale's avatar
Fardale committed
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
"~" " 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é.
123
"~" set confirm
124 125 126 127 128

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

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

132 133 134
"~" " 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
135

Fardale's avatar
Fardale committed
136 137 138 139 140 141 142
"~" " 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,<,>,[,]

143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166
" +------------------+
" | 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
167 168 169
"~" " Surligne les espaces insécables
"~" au BufEnter * hi Nbsp ctermbg=233 guibg=black
"~" au BufEnter * match Nbsp /\%uA0/
170 171 172 173 174 175

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

"~" " Pour charger de la configuration après la configuration crans
176
"~" source ~/.vimrc_after