Vimrc

From AleikoumWiki

Revision as of 10:20, 3 November 2008 by Erwan (Talk | contribs)
Jump to: navigation, search

V!m tel quel est assez lourd à utiliser, alors voici un petit .vimrc toujours à coller dans votre home ! Bien entendu je remercie une fois de plus le pro du Web - un certain J. T. - pour m'avoir initie a l'univers et a la configuration V!m !

"#########################################################################
"#                                                                       #
"#               Mon ~/.vimrc par Erwan Laby Ben Souiden                 #
"#               ---------------------------------------                 #
"#                                                                       #
"#last MAJ : 2008-10-28 10:27                                            #
"#e.bensouiden@gmail.com                                                 #
"#########################################################################

" tres largement inspire de celui de J. T.


" Configuration generale
" ----------------------

" Affiche les numeros de lignes, set nonu pour les retirer
set number
"set numberwidth=1
" Va chercher directement la pattern lors d'une recherche
set incsearch
" Indentation automatique
set autoindent
" Pour scroller avec la molette
set mouse=a
" le J. T. official V!m status , laststatus permet d'afficher tout le temps la statusline
set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\ [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]
set laststatus=2
" Modification des tabs et des espaces
set softtabstop=4
set shiftwidth=4
set expandtab
set ttymouse=xterm2
" Syntax enable
syntax on
" Indique la parenthese qu'on ferme
set showmatch
" Permet d'avoir la liste des fichiers possible a ouvrir
" lorsqu on ouvre un fichier directement depuis V!m avec un :e
set wildmenu
set wildignore=*.o,*#,*~,*.dll,*.so,*.a
set wildmode=full

" Pour un affichage plus sain
" A chaque indentation, un fold est cree
" pour ouvrir un fold : fleche de droite
" pour refermer un fold : <esc>zc
set foldmethod=indent 
au BufWinLeave * mkview
au BufWinEnter * silent loadview


" Shortcuts
" ---------

" Diviser le buffer actuel puis switcher entre les buffers
map <F2> <esc><c-w>s
map <F3> <esc><c-w><Up>
map <F4> <esc><c-w><Down>
map! <F2> <esc><c-w>s
map! <F3> <esc><c-w><Up>
map! <F4> <esc><c-w><Down>

" Pour la souris : en 'a' la souris permet de scroller
" en 'h' la souris permet de selectionner
map <F5> <esc>:set mouse=h<CR>
map <F6> <esc>:set mouse=a<CR>
map! <F5> <esc>:set mouse=h<CR>
map! <F6> <esc>:set mouse=a<CR>

" Divers
" Gestion des buffers avec le vim *
" ouverture avec <esc>:bNUM
map <F7> <esc>:ls<CR>
map! <F7> <esc>:ls<CR>
" Ouvrir un nouveau fichier
map <F8> <esc>:e
map! <F8> <esc>:e
" Test si le script perl compile
map <F9> <esc>:!perl -c %<CR>
map! <F9> <esc>:!perl -c %<CR>
" Fais un backup du fichier courant en .save
map <F10> <esc>:w %.save<CR>
map! <F10> <esc>:w %.save<CR>
" F11 pour coller du texte formatte
" et F12 pour revenir a l'etat initial
map <F11> <esc>:set paste<CR>
map <F12> <esc>:set nopaste<CR>
map! <F11> <esc>:set paste<CR>
map! <F12> <esc>:set nopaste<CR>

Quelques memo pour V!m :

<esc>K : permet d'afficher le man de la commande sur laquelle se trouve le pointeur
<esc>:! commande : execute "commande" dans le terminal
yy : copie la ligne sur laquelle se trouve le pointeur
yNUMy : copie les NUM lignes a partie de laquelle se trouve le pointeur
dd : coupe la ligne sur laquelle se trouve le pointeur
dNUMd : coupe les NUM lignes a partie de laquelle se trouve le pointeur
p : colle les lignes copiees
<shift>C : efface tout entre le pointeur et la fin de la ligne + passe en mode insertion
<esc>:r!which commande : affiche le chemin vers l exec commande sur la ligne ou se trouve le curseur


Quelques colorscheme sympas :
Les schemes doivent se trouver dans ~/.vim/colors/ et doivent posseder l'extension .vim

Pour changer de colorscheme il suffit de faire
<esc>colorscheme nom-scheme-sans-ext

http://www.cs.cmu.edu/~maverick/VimColorSchemeTest/midnight2.vim : pour perl</br>

Personal tools