]> gitweb.pimeys.fr Git - config-20-100.git/blob - .vimrc
304b438418cef25357ff1de17e004b39789061b0
[config-20-100.git] / .vimrc
1 " .vimrc générique mis à votre disposition
2 " par les gentils membres actifs du Cr@ns
3 " Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
4 " Des questions, des suggestions : {nounou,ca}@lists.crans.org
5 " Licence : WTFPL
6
7 " Les sections commentées par "~" sont des features qui ne sont pas activées
8 " par défaut. Sentez-vous libre de les décommenter pour les utiliser.
9
10 "------------------------------------------------------------------------------
11 "
12 "
13 " +-----------+
14 " | Affichage |
15 " +-----------+
16
17 " Affiche la commande en train d'être tapée en bas à droite de l'écran
18 set showcmd
19
20 " Affiche le nom du fichier et le chemin dans le titre du terminal
21 set title
22
23 "~" " N'affiche pas sur plusieurs lignes les lignes qui sont plus grandes que la fenêtre (comme sous nano)
24 "~" set nowrap
25
26 " Montre brièvement la paire de parenthèse lors de sa fermeture
27 set showmatch
28
29 " Optimise la coloration de vim pour l'adapter à un terminal sombre (par défaut 'light')
30 set background=dark
31
32 " ~~ Numérotation ~~
33 " Affiche 'ligne,n de caractère,colonne' en bas à droite du terminal
34 set ruler
35
36 " Affiche les numéros de lignes à gauche du terminal
37 set number
38
39 " Retire la marge à gauche sur les numéros de lignes
40 set numberwidth=2
41
42 "~" " Surligne la ligne du curseur
43 "~" set cursorline
44
45 "~" " Surligne la colonne du curseur
46 "~" set cursorcolumn
47
48 " +-----------------+
49 " | Édition de code |
50 " +-----------------+
51
52 " ~~ Coloration syntaxique ~~
53 " Active la coloration syntaxique pour le type de fichier détecté
54 if has("syntax")
55 syntax on
56 endif
57
58 " ~~ Indentation et tabulation ~~
59 " Active les régles d'indentation pour le type de fichier détecté
60 if has("autocmd")
61 filetype plugin indent on
62 endif
63
64 " Conserve l'indentation de la ligne précédente lors d'un retour à la ligne
65 set autoindent
66
67 " Met les tabulations à 4 colonnes
68 set tabstop=4
69
70 " Indente à 4 colonnes pour les opérations de réindentation
71 set shiftwidth=4
72 set shiftwidth=4 " pour <<, >> et ==
73
74 "~" " Remplace les (futures) tabulations par des espaces
75 "~" set expandtab
76 "~" " On veut des tabulations dans les MakeFiles
77 "~" autocmd FileType make set noexpandtab tabstop=4 shiftwidth=2 nopi ci
78
79 "~" " Ctrl-p change entre le mode paste et nopaste
80 "~" set pastetoggle=<C-P>
81
82 "~" " Utilise le presse papier system (nécessite vim-gnome sous Debian)
83 "~" set clipboard^=unnamedplus
84
85 " +---------------------------+
86 " | Recherche et substitution |
87 " +---------------------------+
88
89 " ~~ Recherche ~~
90 " Commence la recherche dès les premiers caractères tapés (comme sous less)
91 set incsearch
92
93 "~" " Surligne les correspondances dans les recherches
94 "~" " (Exécuter nohl pour désactiver les hl (ils restent même une fois la recherche terminée))
95 "~" set hlsearch
96
97 "~" " Rend la recherche insensible aux majuscules et minuscules, sauf si le
98 "~" " motif contient une majuscule
99 "~" set ignorecase
100 "~" set smartcase
101
102 " +-----------------------------+
103 " | Enregistrement et fermeture |
104 " +-----------------------------+
105
106 "~" " Enregistre automatiquement pour certaines commandes, notament make (voir :help autowrite)
107 "~" set autowrite
108
109 "~" " Met à jour automatiquement les fichiers modifiés hors de vim
110 "~" set autoread
111
112 "~" " Pose la question au lieu d'échouer lors de la fermeture quand il y des
113 "~" " modifications non sauvées et que ! n'est pas précisé.
114 "~" set confirm
115
116 " +--------+
117 " | Divers |
118 " +--------+
119
120 " Change la taille de l'historique des commandes (par défaut 20)
121 set history=50
122
123 "~" " Change le comportement de la TAB-complétion : on complète au plus long
124 "~" " au premier appui, on affiche la liste des possibilités au deuxième
125 "~" set wildmode=longest,list
126
127 "~" " Active l'utilisation de la souris. (Ne marche qu'avec certains terminaux voir :help mouse)
128 "~" set mouse=a
129
130 "~" " Permet aux flèches droites et gauches de déplacer le curseur au début de
131 "~" " de la prochaine ligne ou à la fin de la précédente ligne
132 "~" set whichwrap=b,s,<,>,[,]
133
134 " +------------------+
135 " | Hacks et scripts |
136 " +------------------+
137
138 " ~~ Hack pour mettre en rouges les espaces indésirables en fin de ligne. ~~
139 " ~~ Ne gêne pas la vue en mode édition. ~~
140 " ~~ Adapté de http://vim.wikia.com/wiki/Highlight_unwanted_spaces ~~
141
142 highlight EspaceFinLigne ctermbg=red guibg=red
143 match EspaceFinLigne /\s\+$/
144 autocmd BufWinEnter * match EspaceFinLigne /\s\+$/
145 autocmd InsertEnter * match EspaceFinLigne /\s\+\%#\@<!$/
146 autocmd InsertLeave * match EspaceFinLigne /\s\+$/
147 autocmd BufWinLeave * call clearmatches()
148
149 " ~~ Coloration du fond après n colonnes ~~
150 " ~~ /!\ Seulement pour vim 7.3 et plus /!\ ~~
151 " ~~ Adapté de http://blog.hanschen.org ~~
152
153 "~" highlight ColorColumn ctermbg=DarkGrey guibg=DarkGrey
154 "~" if exists('+colorcolumn')
155 "~" execute "set colorcolumn=".join(range(81,335), ',')
156 "~" endif
157
158 "~" " Surligne les espaces insécables
159 "~" au BufEnter * hi Nbsp ctermbg=233 guibg=black
160 "~" au BufEnter * match Nbsp /\%uA0/