.vimrc 4.89 KB
Newer Older
Lucas Serrano's avatar
Lucas Serrano committed
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.
Lucas Serrano's avatar
Lucas Serrano committed
4
5
6
7
8
9
10
11
12
13
14
15
16
" 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.

"------------------------------------------------------------------------------
"
"
" +-----------+
" | Affichage |
" +-----------+

17
18
" Affiche la commande en train d'être tapée en bas à droite de l'écran
set showcmd
Lucas Serrano's avatar
Lucas Serrano committed
19

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

29
30
31
32
33
34
35
36
37
38
39
40
"~" " 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
Lucas Serrano's avatar
Lucas Serrano committed
41

Fardale's avatar
Fardale committed
42
43
44
45
46
"~" " Surligne la ligne du curseur
"~" set cursorline

"~" " Surligne la colonne du curseur
"~" set cursorcolumn
Lucas Serrano's avatar
Lucas Serrano committed
47
48
49
50
51
52

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

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

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

Fardale's avatar
Fardale committed
64
65
"~" " Conserve l'indentation de la ligne précédente lors d'un retour à la ligne
"~" set autoindent
66
67
68
69
70
71

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

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

Fardale's avatar
Fardale committed
79
80
"~" " Ctrl-p change entre le mode paste et nopaste
"~" set pastetoggle=<C-P>
Lucas Serrano's avatar
Lucas Serrano committed
81

82
83
84
"~" " Utilise le presse papier system (nécessite vim-gnome sous Debian)
"~" set clipboard^=unnamedplus

Lucas Serrano's avatar
Lucas Serrano committed
85
86
87
88
89
" +---------------------------+
" | Recherche et substitution |
" +---------------------------+

" ~~ Recherche ~~
90
91
92
93
94
95
" 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
Lucas Serrano's avatar
Lucas Serrano committed
96

Fardale's avatar
Fardale committed
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
"~" " 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é.
Fardale's avatar
Fardale committed
114
"~" set confirm
Lucas Serrano's avatar
Lucas Serrano committed
115
116
117
118
119

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

120
121
" Change la taille de l'historique des commandes (par défaut 20)
set history=50
Lucas Serrano's avatar
Lucas Serrano committed
122

123
124
125
"~" " 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
Lucas Serrano's avatar
Lucas Serrano committed
126

Fardale's avatar
Fardale committed
127
128
129
130
131
132
133
"~" " 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,<,>,[,]

Lucas Serrano's avatar
Lucas Serrano committed
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
" +------------------+
" | 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
158
159
160
"~" " Surligne les espaces insécables
"~" au BufEnter * hi Nbsp ctermbg=233 guibg=black
"~" au BufEnter * match Nbsp /\%uA0/