« Utilisateur:Denis S » : différence entre les versions

De Disposition de clavier bépo
Ligne 92 : Ligne 92 :


" vim-surround
" vim-surround
" (beaucoup d'embêtements, désactive tous les mapping et redirige autrement)
" (beaucoup de soucis, désactive tous les mapping et redirige autrement)
" (un beau greffon que je n'exploite pas à sa juste valeur)
" (un beau greffon que je n'exploite pas à sa juste valeur)
let g:surround_no_mappings=1
let g:surround_no_mappings=1
Ligne 118 : Ligne 118 :


</source>
</source>


=== Pour les greffons (suite) ===
=== Pour les greffons (suite) ===

Version du 20 avril 2014 à 14:36

Un autre bépoète…

Je n'avais jamais développé de méthode de frappe à l'aveugle en 18 années d'utilisation d'un clavier qwerty.

J'avais développé des douleurs non seulement aux mains, mais aussi à la nuque à force d'alterner le regard entre l'écran et le clavier.

J'ai décidé d'y remédier en novembre 2011 après avoir découvert par hasard l'histoire de monsieur Dvorak et l'existence du projet bépo. Je suis passé au bépo à l'aide d'un clavier TypeMatrix acheté dans ce but. (Il n'y a rien de mieux qu'un nouveau jouet pour se motiver!) J'ai profité du congé des fêtes de Noël 2011 pour m'entraîner à la maison sur Ktouch et Klavaro. Depuis ce temps j'utilise bépo exclusivement au travail et à la maison. J'ai drastiquement gagné en confort et les douleurs aux mains et au cou sont disparues.

Vim en bépo

D'après ce que j'ai pu tester et voir ailleurs, je pense que ma méthode mérite d'être présentée:

  • Je redirige clavier bépoc clavier bépot clavier bépos clavier bépor pour une navigation facile.
  • Mais contrairement à ce qui est proposé sur la page Vim#Principe je laisse aussi clavier bépoh clavier bépoj clavier bépok clavier bépol intacts. On se retrouve donc avec 2 jeux de touches équivalentes pour les déplacements: soit c/t/s/r pour l'ergonomie et h/j/k/l pour la compatibilité avec les macro et greffons de l'ensemble de la communauté Vim. Finalement je trouve pratique de toujours pouvoir compter sur les touches h/j/k/l peu importe la machine sur laquelle je me retrouve.
  • Heureuse coïncidence, nous avons 4 caractères accentués en accès direct. Ce qui permet de fermer la boucle sans aucun effet domino:
    • clavier bépoç remplace clavier azertyc (çhange)
    • clavier bépoà remplace clavier azertyt (jusqu'à)
    • clavier bépoé remplace clavier azertyr (écrase)
    • clavier bépoè remplace clavier azertys (insère en substitution)
    • Même remplacement des majuscules pour cohérence mnémotechnique. Celà libère C/T/S/R pour d'autres usages, par exemple:
      • clavier bépoC déplacement accéléré dans le même sens que clavier bépoc (mot précédent comme clavier bépoB)
      • clavier bépoT déplacement accéléré dans le même sens que clavier bépot
      • clavier bépoS déplacement accéléré dans le même sens que clavier bépos
      • clavier bépoR déplacement accéléré dans le même sens que clavier bépor (mot suivant comme clavier bépoW)
  • Quant aux majuscules H/J/K/L, je ne voit pas l'intérêt de les transférer sur la rangée de repos.
  • Avez vous remarqué la panoplie de touches vacantes relativement accessibles en bépo? êĥñŵŝïîëùüÿä最ə≠®ßþ~ôóòðõáåâñ¸¹²³⁴⁵… Je ne leur ai toujours pas attribué de commandes mais j'aime bien me dire qu'elles n'attendent que ça.

Pour le ~/.vimrc

Code à mettre dans le fichier ~/.vimrc (ou autre fichier.vim séparé):

" a) redirection de ctsr
nnoremap c h
vnoremap c h
nnoremap t gj
vnoremap t gj
nnoremap s gk
vnoremap s gk
" ATTENTION: "vnoremap s" est en conflit avec le greffon vim-surround 
nnoremap r l
vnoremap r l

" b) récupération des touches ctsr perdues
nnoremap ç c
vnoremap ç c
nnoremap à t
vnoremap à t
nnoremap è s
vnoremap è s
nnoremap é r
vnoremap é r
nnoremap Ç C
vnoremap Ç C
nnoremap À T
vnoremap À T
nnoremap È S
vnoremap È S
nnoremap É R
vnoremap É R

" c) déplacements accélérés (optionnel)
"    moins utiles quand on maîtrise H M L / ? à f , ; b B w W ) ( } { g 0 $ + - _
"    voir :help motion.txt
nnoremap C B
vnoremap C B
nnoremap T 5gj
vnoremap T 5gj
nnoremap S 5gk
vnoremap S 5gk
nnoremap R W
vnoremap R W


Pour les greffons

" Résolution de conflits connus entre bépo (touches ctsr) et les greffons

" The-NERD-tree
let NERDTreeMapOpenInTab=',t' 
let NERDTreeMapOpenVSplit=',s'
let NERDTreeMapRefresh=',r'
let NERDTreeMapChdir=',C'
let NERDTreeMapOpenInTabSilent=',T'
let NERDTreeMapRefreshRoot=',R'


" vim-surround
" (beaucoup de soucis, désactive tous les mapping et redirige autrement)
" (un beau greffon que je n'exploite pas à sa juste valeur)
let g:surround_no_mappings=1
xmap <Leader>s    <Plug>Vsurround
nmap <Leader>cs   <Plug>Csurround
nmap <Leader>ds   <Plug>Dsurround
nmap <Leader>ys   <Plug>Ysurround
nmap <Leader>yss  <Plug>Yssurround
nmap <Leader>yS   <Plug>YSurround
nmap <Leader>ySs  <Plug>YSsurround
nmap <Leader>ySS  <Plug>YSsurround


" mru.vim (un de mes greffons favoris)
"
" Modification à coder en dur après installation: Le fichier mru.vim contient
" les lignes suivantes qui entrent en conflit avec la touche t en bépo. Éditer
" le fichier et mettre ces lignes en commentaire (ou rediriger le mapping
" ailleurs si vous tenez à utiliser les onglet):
"
"    nnoremap <buffer> <silent> t
"                \ :call <SID>MRU_Select_File_Cmd('edit,newtab')<CR>
"    vnoremap <buffer> <silent> t
"                \ :call <SID>MRU_Select_File_Cmd('edit,newtab')<CR>

Pour les greffons (suite)

Certains greffons ont des mappings débutant par c/t/s/r. Cela a pour effet de rendre Vim moins réactif: il attends de voir si une autre touche est à venir. Le remède consiste à désactiver (ou rediriger) ces mappings incommodants. Pour avoir le dernier mot après la lecture des greffons je mets ce code dans ~/.vim/after/plugin/bepo_restore.vim:

" Résolution de conflits entre bépo et les greffons, avoir le dernier mot.
" Éviter ralentissements

" vim-abolish
silent! nunmap cr

" vim-unimpaired
silent! nunmap cox
silent! nunmap cow
silent! nunmap cor
silent! nunmap con
silent! nunmap col
silent! nunmap coi
silent! nunmap coh
silent! nunmap cod
silent! nunmap cos
silent! nunmap cou
silent! nunmap coc