Utilisateur:Carnifex/.vimrc.bepo

De Disposition de clavier bépo

- Très orienté édition de code source (commandes directes pour ajouter un espace, une parenthèse ouverte, un début de commentaire, une ligne, sans passer par le mode insère)

- Comme son nom l’indique, ce fichier de configuration est optimisé pour le bépo. La disposition des raccourcis est particulièrment conçue pour l’emplacement des caractères dans la disposition bépo, notamment

' : accès au mode commande (en mode normal)

ê : début de ligne

à : premier caractère hors espace

f : fin de ligne

e : insertion d’une ouverture de parenthèse

, : ajout d’une fermeture de parenthèse

- On suppose que les commentaire se notent (* commentaires *), que les modules se nomment module.ml, et les headers header.mli. Pour les autres langages, on apportera les modifications adéquates à ce fichier.

- Utilisation abondante de shift comme modificateur en mode normal.

- Les commandes suivantes du vim QWERTY ne sont pas accessibles : S, V notamment (commandes que je n’utilise pas. On pourra cependant si besoin était les remapper sur des combinaisons encore disponibles)

" accès à de nouvelles combinaisons par la touche espace (en mode normal)
map <space> <Leader>

"caractères importants plus faciles d’accès (accès au mode commande, <, >)
 noremap ' :
 noremap! æ <
 noremap! ù >

" [HJKL] -> {CTSR}
" {cr} = « gauche / droite »
noremap c h
noremap r l
" {ts} = « haut / bas »
noremap t j
noremap s k
noremap T <Pagedown>
noremap S <Pageup>

" delete buffer
noremap <Leader>d :bd<CR>
" buffer précédent, suivant
noremap C :bp<CR>
noremap R :bn<CR>

" mot / Mot suivant 
noremap é w
noremap É W
" fin de mot / Mot
noremap m e
noremap M E

" aller en début de ligne
noremap ê 0
" aller au premier caractère hors espace
noremap à ^
" Fin de ligne
noremap f $

" aller au caractère - gc : à gauche, gt : à droite 
noremap gr f
noremap gc F

" aller à la parenthèse/crochet correspondant
noremap gp %

"" aller à la ligne / colonne n
noremap <Leader>y gg
noremap <Leader>x \|

" ligne écran précédente / suivante (à l'intérieur d'une phrase)
noremap gs gk
noremap gt gj


" —————————————————————————————————————————————————————————————————

" {H} = « Remplace »           (h = caractère, H = texte)
noremap h r
noremap H R
 
" insérer un espace
noremap k i<space><Esc>

" insérer une parenthèse, un début de commentaire
noremap e i(<Esc>
noremap E i(*<Esc>
" ajouter une fin de parenthèse, une fin de commentaire
noremap , a)<Esc>
noremap ; a*)<Esc>

" ajouter début de commentaire en début de ligne
noremap Ê 0i(*<Esc>0
" au premier caractère hors espace
noremap À ^i(*<Esc>
" fin de commentaire fin de ligne
noremap F $a*)<Esc>

" Kommenter toute la ligne
noremap K 0i(*<Esc>$a*)<Esc>0

" {L} = « Change »             (l = bloc, L = jusqu'à la fin de ligne)
noremap l c
noremap L C
" Inner Word
noremap yi yiw
noremap li ciw
" Element = 1 caractère
noremap le s
" inner word et le reste de la ligne
noremap lf diwC
" Mot précédent, suivant
noremap lb cb
noremap lB cB
noremapcw
noremap lÉ cW
" répéter dernière substitution
noremap l. & 
" joindre = suppression de fin de ligne
noremap j J 
" remplacement de toute la ligne
noremap ll dd<Esc>O
" suppression de la ligne = remplacement de toute la ligne par une ligne vide
noremap lx dd<Esc>O<Esc>
" ajout d’une ligne en dessous
noremap lo o<Esc>
noremap lO O<Esc>
" ajout d’une flèche Vers
noremap lv a<Space>-><Space>
" suppression de commentaires en début/fin de lignes
noremap0xx0
noremap lf $xx0
noremap lk 0xx$xx0

" recherche d’un mot
noremap <Leader>/ /\<
" commentaire utile
noremap <Leader>* i(***À<space>REVOIR<Esc>$a***)<Esc>0

" fenetre plein écran
noremap <Leader>o :only<CR>
" affichage des numéros des Lignes
noremap <Leader>l :set<space>number<CR>
noremap <Leader>L :set<space>nonumber<CR>
" insertion de la date
noremap <Leader>j :r !/home/carni/prog/bin/conv -j<CR>

" enregistrement de Macro 
noremap <Leader>a q
" Identification d’un registre
" remap <Leader>i "
" ouverture du mli
noremap <Leader>i :e<space>%i<CR>
" remap <Leader>i q:kAi<CR>
" Exécution de macro
noremap <Leader>e @
noremap <Leader>ee @@
" Clade (type) de la valeur
" remap <Leader>c
" aller à la première / dernière ligne de l’écran
noremap <Leader>t L
noremap <Leader>s H
" Centrage écran sur le curseur
noremap <Leader>n zz
" mark et rappel
noremap <Leader>r '
noremap <Leader>m m 

" ~ plus accessible
noremap <Leader>k ~
" open the command line window
noremap <Leader>' q:
" abandon rapide
noremap <Leader>q :q!<CR>
" Goto <help subject>
noremap <Leader>g :help<space>
" Help
noremap <Leader>h :help<CR>:only<CR>


" —————————————————————————————————————————————————————————————————

" accès plus facile en mode commande
cnoremap à \
cnoremap ê /
cnoremap è w
cnoremap È W
cnoremap « <
cnoremap » >

" ouverture des modules plus rapide
"cnoremap ç .ml<CR>
"cnoremap Ç .mli<CR>

" raccourcis
noremap q :q<CR>
noremap V :w<CR>
noremap Q :wq<CR>
noremap W :d99<CR>:w>>hum.txt<CR>:wq<CR>
"noremap M :make<CR>
"noremap m :cn<CR>