]> gitweb.pimeys.fr Git - config-20-100.git/blob - .vimrc
ajout et correction mineur .vimrc
[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 " +---------------------------+
83 " | Recherche et substitution |
84 " +---------------------------+
85
86 " ~~ Recherche ~~
87 " Commence la recherche dès les premiers caractères tapés (comme sous less)
88 set incsearch
89
90 "~" " Surligne les correspondances dans les recherches
91 "~" " (Exécuter nohl pour désactiver les hl (ils restent même une fois la recherche terminée))
92 "~" set hlsearch
93
94 "~" " Rend la recherche insensible aux majuscules et minuscules, sauf si le
95 "~" " motif contient une majuscule
96 "~" set ignorecase
97 "~" set smartcase
98
99 " +-----------------------------+
100 " | Enregistrement et fermeture |
101 " +-----------------------------+
102
103 "~" " Enregistre automatiquement pour certaines commandes, notament make (voir :help autowrite)
104 "~" set autowrite
105
106 "~" " Met à jour automatiquement les fichiers modifiés hors de vim
107 "~" set autoread
108
109 "~" " Pose la question au lieu d'échouer lors de la fermeture quand il y des
110 "~" " modifications non sauvées et que ! n'est pas précisé.
111 "~" set confirm
112
113 " +--------+
114 " | Divers |
115 " +--------+
116
117 " Change la taille de l'historique des commandes (par défaut 20)
118 set history=50
119
120 "~" " Change le comportement de la TAB-complétion : on complète au plus long
121 "~" " au premier appui, on affiche la liste des possibilités au deuxième
122 "~" set wildmode=longest,list
123
124 "~" " Active l'utilisation de la souris. (Ne marche qu'avec certains terminaux voir :help mouse)
125 "~" set mouse=a
126
127 "~" " Permet aux flèches droites et gauches de déplacer le curseur au début de
128 "~" " de la prochaine ligne ou à la fin de la précédente ligne
129 "~" set whichwrap=b,s,<,>,[,]
130
131 " +------------------+
132 " | Hacks et scripts |
133 " +------------------+
134
135 " ~~ Hack pour mettre en rouges les espaces indésirables en fin de ligne. ~~
136 " ~~ Ne gêne pas la vue en mode édition. ~~
137 " ~~ Adapté de http://vim.wikia.com/wiki/Highlight_unwanted_spaces ~~
138
139 "~" highlight EspaceFinLigne ctermbg=red guibg=red
140 "~" match EspaceFinLigne /\s\+$/
141 "~" autocmd BufWinEnter * match EspaceFinLigne /\s\+$/
142 "~" autocmd InsertEnter * match EspaceFinLigne /\s\+\%#\@<!$/
143 "~" autocmd InsertLeave * match EspaceFinLigne /\s\+$/
144 "~" autocmd BufWinLeave * call clearmatches()
145
146 " ~~ Coloration du fond après n colonnes ~~
147 " ~~ /!\ Seulement pour vim 7.3 et plus /!\ ~~
148 " ~~ Adapté de http://blog.hanschen.org ~~
149
150 "~" highlight ColorColumn ctermbg=DarkGrey guibg=DarkGrey
151 "~" if exists('+colorcolumn')
152 "~" execute "set colorcolumn=".join(range(81,335), ',')
153 "~" endif
154
155 "~" " Surligne les espaces insécables
156 "~" au BufEnter * hi Nbsp ctermbg=233 guibg=black
157 "~" au BufEnter * match Nbsp /\%uA0/