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

De Disposition de clavier bépo
Ligne 11 : Ligne 11 :
présentée:
présentée:
* Je redirige {{t|c}} {{t|t}} {{t|s}} {{t|r}} pour une navigation facile.  
* Je redirige {{t|c}} {{t|t}} {{t|s}} {{t|r}} pour une navigation facile.  
* Mais contrairement à ce qui est proposé sur la page [[Vim#Principe]] je laisse aussi {{t|h}} {{t|j}} {{t|k}} {{t|l}} intacts. On se retrouve donc avec 2 jeux de touches équivalentes pour les déplacement: soit {{C|c/t/s/r}} pour l'ergonomie et {{C|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 {{C|h/j/k/l}} peu importe la machine sur laquelle je me retrouve.
* Mais contrairement à ce qui est proposé sur la page [[Vim#Principe]] je laisse aussi {{t|h}} {{t|j}} {{t|k}} {{t|l}} intacts. On se retrouve donc avec 2 jeux de touches équivalentes pour les déplacements: soit {{C|c/t/s/r}} pour l'ergonomie et {{C|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 {{C|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 retrouver les fonctionnalités originelles {{C|c/t/s/r}} sans aucun effet domino:
* 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:
** {{t|ç}} remplace {{ta|c}} (''{{C|ç}}hange'')
** {{t|ç}} remplace {{ta|c}} (''{{C|ç}}hange'')
** {{t|à}} remplace {{ta|t}} (''jusqu'{{C|à}}'')
** {{t|à}} remplace {{ta|t}} (''jusqu'{{C|à}}'')
** {{t|é}} remplace {{ta|r}} (''{{C|é}}crase'')
** {{t|é}} remplace {{ta|r}} (''{{C|é}}crase'')
** {{t|è}} remplace {{ta|s}} (''ins{{C|è}}re en substitution'')
** {{t|è}} remplace {{ta|s}} (''ins{{C|è}}re en substitution'')
** Même remplacement des majuscules pour des raisons purement mnémotechnique. Celà libère {{C|C/T/S/R}} pour d'autres usages:
** Même remplacement des majuscules pour cohérence mnémotechnique. Celà libère {{C|C/T/S/R}} pour d'autres usages, par exemple:
*** {{t|C}} vacant
*** {{t|C}} déplacement accéléré dans le même sens que {{t|c}} (mot précédent comme {{t|B}})
*** {{t|T}} déplacement accéléré dans le même sens que {{t|t}}
*** {{t|T}} déplacement accéléré dans le même sens que {{t|t}}
*** {{t|S}} déplacement accéléré dans le même sens que {{t|s}}
*** {{t|S}} déplacement accéléré dans le même sens que {{t|s}}
*** {{t|R}} déplacement accéléré dans le même sens que {{t|r}} (mot suivant comme {{t|W}})
*** {{t|R}} déplacement accéléré dans le même sens que {{t|r}} (mot suivant comme {{t|W}})
* Quant aux majuscules {{C|H/J/K/L}}, je ne voit pas l'intérêt de les transférer sur la rangée de repos.
* Quant aux majuscules {{C|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? {{C|êĥñŵŝïîëùüÿä最ə≠®ßþ~ôóòðõáåâñ¸¹²³⁴⁵…}} Je ne leur ai toujours pas attribué de commandes mais j'aime bien me dire qu'elles n'attendent que ça. Un gros avantage par rapport au vieux clavier qwerty.
* Avez vous remarqué la panoplie de touches vacantes relativement accessibles en bépo? {{C|êĥñŵŝïîëùüÿä最ə≠®ßþ~ôóòðõáåâñ¸¹²³⁴⁵…}} Je ne leur ai toujours pas attribué de commandes mais j'aime bien me dire qu'elles n'attendent que ça.


=== Pour le ~/.vimrc ===
=== Pour le ~/.vimrc ===
Ligne 60 : Ligne 60 :
vnoremap É R
vnoremap É R


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


</source>
</source>
Ligne 80 : Ligne 80 :
<source lang="vim">
<source lang="vim">


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


" The-NERD-tree
" The-NERD-tree
Ligne 131 : Ligne 131 :


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


" vim-abolish
" vim-abolish

Version du 20 avril 2014 à 13:52

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 d'embêtements, 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