set nocompatible set visualbell set autoindent set backspace=indent set expandtab set sts=4 set shiftwidth=4 set report=0 set viminfo='20,\"80 " Remember more than 20 lines set history=75 "set term=xterm set cpoptions-=a " Limitation de la mémoire utilisée set maxmemtot=49152 set maxmem=32768 " Pas de barre d'outils pour la version GUI set guioptions-=T " Ne pas considérer les nombres commençant par 0 comme de l'octal set nrformats-=octal " Ne pas décharger les tampons d'édition automatiquement set hidden " Recherche incrémentale set incsearch " Surligner les motifs recherchés set hlsearch " Menu de la mort qui tue (mode console) set wildmenu set wildmode=list:full " Correspondance des parenthèses : set showmatch " Toujours une barre d'état... set ruler set laststatus=2 " Barre d'état personnalisée set statusline=%<%f%h%m%r\ \ [%n]%=%b\ 0x%B\ \ \ \ %l,%c%V\ %P "set background=light " Pour l'indentation "à la GNU C" : "" set cinoptions=>4f0{2^-2n-2:0=2 "set cinoptions=>4^-2:2 set cinoptions=>2:2(0 " Bascule clair / foncé pour la coloration syntaxique map :if (&bg=="dark")se bg=light \elsese bg=darkendif \syn offsyn on " Bascule syn on / off map :if exists("syntax_on")syn off \elsesyn onendif " Marques -> à la colonne près map ' ` " Insertion de la date (format japonais) iab Ydate =strftime("%Y-%m-%d") " ... heure iab Ytime =strftime("%H:%M:%S") "" Raccourcis clavier "iab Yme MiKael "iab Yfullme Mikael BERTHE "iab Ymail "iab Yfullmail Mikael BERTHE "" Exécute tout ce qui suit le premier "$" de la ligne "map _E 0f$l"yy$:!y " Raccourcis pour le formatage des paragraphes : map _** {!}par }j map _* {!}par map _*= {!}par j ~/bin/perljust.pl " F4 : fichier précédent map :previous " F5 : fichier suivant map :next " F8 ; tampon dédition précédent map :bp " F9 ; tampon dédition suivant map :bn " F10 : suppression du tampon d'édition courant map :bd " Bascule en mode « collage » set pastetoggle= " MAJ Date de dernière modification ("\c" dépend de la version de Vim) "map _L 1G/\(Last\\|Dernière\)\s\+\(update\\|modification\\|change\)\s*:\s*/ map _L 1G/\c\(Last\\|Dernière\)\s\+\(update\\|modification\\|change\)\s*:\s*/ \e+1"_CYdate =strftime("%H:%M") " Désactivation (temporaire) du surlignement map ¤ :nohlsearch " Pour la messagerie : vmap _qm :s/^/> /``:nohlsearch map _qm I> map _toolong :execute "/.\\{".(&textwidth+1).",}" map _nofold :set foldmethod=manualzD " À la Emacs ;) imap 0 imap $ " Pratique : map 2 map 2 "map O5A 2 "map O5B 2 " Auto-commands " C: autocmd BufRead *.c,*.h set cindent|map :make "autocmd BufWritePre,FileWritePre *.c,*.h ks|normal _L|`s autocmd BufNewFile *.c 0r ~/.vim/templates/skeleton.c| \set cindent|map :make autocmd BufNewFile *.h 0r ~/.vim/templates/skeleton.h| \set cindent|map :make " Recherche des mots-clés XXX, TODO et FIXME noremap /\(XXX\\|TODO\\|FIXME\) " Reconnaissance syntaxique syn on " F1 -> Aide on/off au! FileType help map :q "" Mostly for omnicompletion (Vim 7) "filetype plugin on "au FileType python execute "source /home/mikael/.vim/scripts/python.vim"| " \map ]|map ] autocmd BufRead *.c,*.h set cindent autocmd FileType mail colorscheme elflord if (filereadable("cscope.out") && has("cscope")) set csprg=cscope set csto=0 set cst set nocsverb cscope add cscope.out set csverb endif "" Cf. help ft-c-omni "" Tags files generated with "ctags-exuberant -R -f ~/.vim/systags /usr/include" "set tags+=~/.vim/systags " Bidouille clavier numérique if (&term == "xterm") imap On . imap Op 0 imap Oq 1 imap Or 2 imap Os 3 imap Ot 4 imap Ou 5 imap Ov 6 imap Ow 7 imap Ox 8 imap Oy 9 elseif (&term == "linux") map OP map OQ map OR map OS map [15~ endif " Pour les scripts (plugins) let mapleader = "_" let g:man_vertical_split=0 highlight RedundantSpaces ctermbg=red guibg=red match RedundantSpaces /\s\+$\| \+\ze\t/