Utilisateur:Nemolivier/vimrc

De Disposition de clavier bépo

Tout ne concerne pas le bépo, mais quand même

set runtimepath+=/usr/local/lilypond/usr/share/lilypond/current/vim/

colorscheme default

" Fond noir pour la coloration syntaxique, sauf pour gvim
if ! has("gui_running")
   colorscheme desert
"ackground=dark
endif

"colorscheme morning 
set mouse=a

"application automatique des modification du .vimrc
if has("autocmd")
  autocmd! bufwritepost .vimrc source ~/.vimrc
endif

" utilise de préférence un format context
let g:tex_flavor = "context"

" affiche les numéros de ligne 
set nu!

" ne coupe pas les mots
set lbr!

" on active la coloration synthaxique automatique
syn on

" polices pour gvim
"set guifont=Deja\ Vu\ Sans\ Mono\ Medium\ 12
set guifont=Envy\ Code\ R\ Medium\ 12
"set guifont=Droid\ Sans\ Mono\ Medium\ 11

" colore la ligne courante
set cursorline

" pas d’ascenseur dans gvim
set go-=r

" colore les nbsp
"match TODO / /
highlight NbSp ctermbg=lightgrey guibg=lightred
match NbSp /\%xa0/

" on veut de la correction orthographique en français
set nospell spelllang=fr

" correction orthographique automatique pour tous les fichiers .tex
augroup filetypedetect
au BufNewFile,BufRead *.tex setlocal spell spelllang=fr
augroup END

" F10 active/desactive la correction orthographique
function! ToggleSpell()
  if &spell
     set nospell
  else
     set spell
  end
endfunction
noremap <F10> :call ToggleSpell()<cr>
inoremap <F10> <Esc> :call ToggleSpell()<cr>
vnoremap <F10> <Esc> :call ToggleSpell()<cr>

" colore la recherche
set hlsearch
"va directement à la recherche au fur et à mesure de la frappe
set incsearch
" change automatiquement le répertoire de travail
set autochdir"

" Va automatiquement à la ligne où on était au moment de la fermeture,
" nécessite un fichier $HOME/.viminfo avec les droits -rw------
if has("autocmd")
  au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$")
    \| exe "normal! g'\"" | endif
endif

" noter dans la marge les plis existants
set foldcolumn=1

" « vg » lance firefox et une recherche dans le tlfi sur le mot courant
vmap ,d :<C-U>!firefox "http://www.cnrtl.fr/lexicographie/<cword>" >& /dev/null<CR><CR>
vmap ,s :<C-U>!firefox "http://www.cnrtl.fr/synonymie/<cword>" >& /dev/null<CR><CR>
" comme ci-dessus mais pour google
vmap ,g :<C-U>!firefox "http://www.google.fr/search?hl=fr&q=<cword>&btnG=Recherche+Google&meta=" >& /dev/null<CR><CR>
"« v,w » comme ci-dessus mais pour wikipedia
vmap ,w :<C-U>!firefox "http://fr.wikipedia.org/wiki/<cword>" >& /dev/null<CR><CR>
" comme ci-dessus mais pour le conjugueur
vmap ,c :<C-U>!firefox "http://www.leconjugueur.com/php5/index.php?v=<cword>" >& /dev/null<CR><CR>
" ouvre l’url sur laquelle on se trouve dans firefox
vmap ,o :<C-U>!firefox "<cfile>" >& /dev/null<CR><CR>

" La touche <LEADER> est faite par F12
let mapleader = "\<F6>"
map <leader>h :echo "Hello world."<cr>

" Tab fait un Esc, Maj+Tab fait un Tab
inoremap <Tab> <Esc>
inoremap <S-Tab> <Tab>
vnoremap <Tab> <Esc>
vnoremap <S-Tab> <Esc>

" ————————————————
"
" {cr} = « gauche / droite »
noremap c h
noremap r l
" {ts} = « haut / bas »
noremap t gj
noremap s gk
" {CR} = « haut / bas de l'écran »
noremap C H
noremap R L
" {TS} = « Ligne haut / bas »
noremap T j
noremap S k

" {HJKL} <- [CTSR]
" ————————————————
" {J} = « Jusqu'à »            (j = suivant, J = précédant)
noremap j t
noremap J T
" {L} = « Change »             (h = bloc, H = jusqu'à la fin de ligne)
noremap l c
noremap L C
" {H} = « Remplace »           (l = caractère, L = texte)
noremap h r
noremap H R
" {K} = « Supprime et insère » (k = caractère, K = ligne)
noremap k s
noremap K S
" Effet domino : J et K manquent à l'appel
noremap ç J 
noremap gç gJ 
noremap Ç K

" pour la correction orthographique
noremap ]k ]s
noremap [k [s

" {W} -> [É]
" ——————————
" Le placement de {W} est catastrophique, mais ça se soigne ;-)
noremap é w
noremap É W
" pour daw et daW qui efface un mot quand on n’est pas au début
noremap aé aw
noremap aÉ aW

" Pour faciliter les manipulations de fenêtres, on utilise {W} comme un Ctrl+W :
"noremap w <C-w>
"noremap W <C-w><C-w>

" Désambiguation de {g}
" —————————————————————
" ligne précédante/suivante (à l'intérieur d'une phrase)
"noremap gs gk
"noremap gt gj

" onglet précédant/suivant
noremap gb gT
noremap gé gt

" premier/dernier onglet
noremap gB :exe "silent! tabfirst"<CR>
noremap gÉ :exe "silent! tablast"<CR>

" amène au début de la ligne écran
noremap g" g0

" va au prochain / précédent replis
noremap zt zj
noremap zs zk

"pour que mon apostrophe courbe soit reconnue comme droite (ne fonctionne pas « ` » deux fois, si)
noremap ’ '


" Chiffres en accès direct
" ————————————————————————
noremap " 0
noremap < 1
noremap > 2
noremap ( 3
noremap ) 4
noremap [ 5
noremap ] 6
noremap / 7
noremap * 8
noremap = 9
noremap 0 "
noremap 1 <
noremap 2 >
noremap 3 (
noremap 4 )
noremap 5 [
noremap 6 ]
noremap 7 /
noremap 8 * 
noremap 9 =


noremap <BS> <PageUp>
noremap <Space> <PageDown> 
noremap <Return> zz " ligne courante au milieu de la fenêtre

" Pour l’utilisation en mode :Ex Cf le fichier ~/.vim/after/ftplugin/netrw.vim