« Utilisateur:Carnifex/.vimrc.bepo » : différence entre les versions

De Disposition de clavier bépo
(Page créée avec « <source lang="vim"> " [HJKL] -> {CTSR} " ———————————————— " {cr} = « gauche / droite » noremap c h noremap r l " {ts} = « haut / bas » no... »)
 
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
- 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)
<source lang="vim">
<source lang="vim">
" 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}
" [HJKL] -> {CTSR}
" ————————————————
" {cr} = « gauche / droite »
" {cr} = « gauche / droite »
noremap c h
noremap c h
Ligne 9 : Ligne 37 :
noremap t j
noremap t j
noremap s k
noremap s k
noremap T <Pagedown>
noremap S <Pageup>


" delete buffer
noremap <Leader>d :bd<CR>
" buffer précédent, suivant
" buffer précédent, suivant
noremap C :bp<CR>
noremap C :bp<CR>
noremap R :bn<CR>
noremap R :bn<CR>
" page up/ down
noremap T <pagedown>
noremap S <pageup>


" mot / Mot suivant  
" mot / Mot suivant  
Ligne 21 : Ligne 50 :
noremap É W
noremap É W
" fin de mot / Mot
" fin de mot / Mot
noremap è e
noremap m e
noremap È E
noremap M E


" aller en début de ligne
" aller en début de ligne
Ligne 31 : Ligne 60 :
noremap f $
noremap f $


" {J} = « Jusqu'à »            (j = suivant, J = précédant)
" aller au caractère - gc : à gauche, gt : à droite
noremap j t
noremap gr f
noremap J T
noremap gc F
 
" aller à la parenthèse/crochet correspondant
noremap gp %
 
"" aller à la ligne / colonne n
noremap <Leader>y gg
noremap <Leader>x \|


" aller à la colonne n
noremap gi \|
" ligne écran précédente / suivante (à l'intérieur d'une phrase)
" ligne écran précédente / suivante (à l'intérieur d'une phrase)
noremap gs gk
noremap gs gk
noremap gt gj
noremap gt gj
" onglet précédant / suivant
 
"noremap gb gT
"noremap gé gt
" optionnel : {gB} / {gÉ} pour aller au premier / dernier onglet
"noremap gB :exe "silent! tabfirst"<CR>
"noremap gÉ :exe "silent! tablast"<CR>
" optionnel : {g"} pour aller au début de la ligne écran
"noremap g" g0


" —————————————————————————————————————————————————————————————————
" —————————————————————————————————————————————————————————————————
Ligne 74 : Ligne 101 :
" Kommenter toute la ligne
" Kommenter toute la ligne
noremap K 0i(*<Esc>$a*)<Esc>0
noremap K 0i(*<Esc>$a*)<Esc>0
" décommenter toute la ligne
noremap : 0xx$xx0


" {L} = « Change »            (l = bloc, L = jusqu'à la fin de ligne)
" {L} = « Change »            (l = bloc, L = jusqu'à la fin de ligne)
noremap l c
noremap l c
noremap L C
noremap L C
" mot précédent, suivant
noremap la cb
noremap lu cw
" Inner Word
" Inner Word
noremap yi yiw
noremap li ciw
noremap li ciw
" Element = 1 caractère
" Element = 1 caractère
noremap le s
noremap le s
" inner word et le reste de la ligne
" inner word et le reste de la ligne
noremap l, diwC
noremap lf diwC
" Mot précédent, suivant
" Mot précédent, suivant
noremap lb cB
noremap lb cb
noremap lé cW
noremap lB cB
" paste = répéter dernière substitution
noremap lé cw
noremap lp &  
noremap lÉ cW
" ouverture = suppression de fin de ligne
" répéter dernière substitution
noremap lo J  
noremap l. &  
" joindre = suppression de fin de ligne
noremap j J  
" remplacement de toute la ligne
" remplacement de toute la ligne
noremap ll dd<Esc>O
noremap ll dd<Esc>O
Ligne 101 : Ligne 126 :
noremap lx dd<Esc>O<Esc>
noremap lx dd<Esc>O<Esc>
" ajout d’une ligne en dessous
" ajout d’une ligne en dessous
noremap l. o<Esc>
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
noremap lê 0xx0
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 au mode commande
noremap ' :


" accès plus facile en mode commande
" accès plus facile en mode commande
Ligne 117 : Ligne 192 :


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


" raccourcis
" raccourcis
Ligne 124 : Ligne 199 :
noremap V :w<CR>
noremap V :w<CR>
noremap Q :wq<CR>
noremap Q :wq<CR>
noremap X :bd<CR>
noremap W :d99<CR>:w>>hum.txt<CR>:wq<CR>
noremap W :d99<CR>:w>>hum.txt<CR>:wq<CR>
noremap M :make<CR>
"noremap M :make<CR>
noremap m :cn<CR>
"noremap m :cn<CR>


</source>
</source>

Dernière version du 28 juillet 2010 à 11:22

- 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>