Vim

De Disposition de clavier bépo
Attention

Page en cours de construction

Vim n'est pas UN éditeur de texte, c'est LE éditeur de texte. Je ne tomberai pas dans le piège grossier du troll Vim/Emacs, puisqu'il est clair Vim est mieux. Je vais tâcher de regrouper sur cette page toutes les infos relatives à l'utilisation de Vim en Bépo.

Ergonomie

Vim n'utilise que très peu de raccourcis en Ctrl+{} et est conçu pour faire toutes les opérations en mode « dactylo », c'est-à-dire avec les doigts proches de la position de repos. L'objectif est la prévention des TMS. Le prix à payer est un temps d'apprentissage assez long.

Parmi les fonctionnalités de base qui tuent, il y a le déplacement du curseur avec HJKL (équivalent des flèches) ou WEB pour le mot-à-mot (équivalent de Ctrl+flèche). C'est utilisé dans bon nombre d'applications courantes :

  • beaucoup d'outils standard du shell : man, more, less…
  • la plupart des gestionnaires de fenêtres en mosaïque : Wmii, Dwm, Xmonad, Awesome…
  • certains logiciels comme aptitude, mutt, ou même Firefox avec l'extension Vimperator…
  • même Emacs dispose d'un mode Vim qui le rend utilisable permet de déplacer le curseur sans bouger les mains (pas testé ;-))

Là où le bât blesse, c'est que Vim est conçu pour un clavier Qwerty. Il convient donc de reconfigurer Vim pour l'utiliser en Bépo.

Reconfiguration partielle des touches

Ces lignes sont à ajouter au fichier ~/.vimrc. Reste à voir à l'usage si ça suffit pour utiliser Vim confortablement, à suivre…

Directions : [HJKL] <-> {CSTR}

On se contente ici d'échanger les touches deux à deux : c'est le strict minimum pour utiliser Vim (et les applications qui utilisent ce mode de déplacement du curseur), et ces touches sont tellement standard que la question de leur positionnement ne se pose même pas.

" {CSTR} = « gauche / bas / haut / droite »
noremap c h
noremap C H
noremap t j
noremap T J
noremap s k
noremap S K
noremap r l
noremap R L
" {H} = « Change »    (c = bloc, C = jusqu'à la fin de ligne)
noremap h c
noremap H C
" {K} = « Suppr. »    (k = caractère, K = ligne)
noremap k s
noremap K S
" {L} = « Remplace »  (l = caractère, L = texte)
noremap l r
noremap L R
" {J} = « Tab »       (t = onglet précédent, T = onglet suivant)
noremap j t
noremap J T

Mot-à-mot : [WEB] <-> {PÉB}

Sous Vim, ces touches sont encore plus importantes que [H] et [L]. Le placement du {B} est acceptable, mais pas celui du {W}. Parmi toutes les possiblités de mapping, voilà comment regrouper ces trois touches côte à côte sous la main gauche en gardant {B} pour « back » (mot précédant) :

" {É} = « End_of_word » (fin de mot)
noremap é e
noremap É E
" {P} = « Word »        (mot suivant)
noremap p w
noremap P W
" {W} = « Paste »       (w/W = coller avant/après)
noremap w p
noremap W P

Bonus : {E} {È} et {Ç}

Ces trois touches sont inutilisées ({E} ayant été remplacé par {É}) et peuvent donc être affectées. En particulier, {E} est très facile d'accès et pourrait servir comme « début de ligne » :

noremap e ^
noremap E 0

Reconfiguration totale des touches

Une option radicale consisterait à reconfigurer toutes les touches en mode normal, afin qu'elles correspondent aux labels du clavier Azerty. On pourrait même générer un tel fichier automatiquement avec les outils du projet Bépo si suffisamment d'utilisateurs étaient intéressés…

À compléter.