« Utilisateur:Lots of birds/Emacs » : différence entre les versions

De Disposition de clavier bépo
(Partie Main droite terminée)
(Main gauche terminée, code commencé)
Ligne 5 : Ligne 5 :
* On change presque complètement la disposition des raccourcis Emacs.
* On change presque complètement la disposition des raccourcis Emacs.


J'ai essayé la première solution... qui a bien failli me faire sombrer sous vim.
J'ai essayé la première solution... qui a bien failli me faire sombrer sous vim. Il faut dire que j'ai toujours trouvé que la disposition par défaut des raccourcis emacs était anarchique, et mal adapté aux êtres humains
Je tente en ce moment avec votre aide la seconde solution.
Je tente en ce moment avec votre aide la seconde solution. C'est ma dernière tentative de rester sous emacs malgré l'utilisation du Bépo.


La nouvelle disposition des touches a ces objectifs
La nouvelle disposition des touches a ces objectifs
* Faire d'emacs un IDE maniable et agréable en BÉPO avec un typematrix
* Faire d'emacs un IDE maniable et agréable en BÉPO avec un typematrix
* Ne pas briser trop le comportement d'emacs, donc on garde la possibilité de faire C-x 'autre touche'
* Ne pas briser trop le comportement d'emacs, donc on garde la possibilité de faire C-x 'autre touche'
* Avoir une disposition de touche facile à apprendre, avec des commandes placées logiquement, permettant de:
* Avoir une disposition des raccourcis facile à apprendre (sinon autant aller sous vim)
** Se déplacer aisément
* Avoir une disposition des raccourcis efficace
** Copier supprimer coller
* Avoir les raccourcis les plus utiles en accès direct C-'touche', plutot que C-x + 'touche'
** insérer du texte
** manipuler les buffers
** manipuler les fichiers
** lancer des macros et des commandes.


Bref, tout l'essentiel de l'éditeur de texte, et l'essentiel de l'environnement de développement.
Bref, tout l'essentiel de l'éditeur de texte, et l'essentiel de l'environnement de développement.


==Main Droite==
==Main Droite==
Avec la main droite:
* On se déplace avec la ligne de repos
* on supprime en dessous de celle-ci
* on insère en étant au dessus


Avec la main droite on se déplace avec la ligne de repos, on supprime en dessous de celle-ci, on insère en étant au dessus
Voici une image pour clarifier tout ça. (les touches en mauves matérialisent la position des doigts sur la ligne de repos).
 
Voici une image pour clarifier tout ça
[[Image:emacs_main_droit_bepo1.png|800px|center|thumb|Actions effectuées par la main droite]]
[[Image:emacs_main_droit_bepo1.png|800px|center|thumb|Actions effectuées par la main droite]]


Maintenant que nous avons le détail du fonctionnement recherché, entrons dans le détail. Dans l'image ci-dessous, les touche sont reliés à une ou plusieurs fonctions.
Maintenant que nous avons un vue globale du fonctionnement recherché, entrons dans le détail. Dans l'image ci-dessous, les touches sont reliés à une ou plusieurs fonctions.
Si la fonction est en bleu, on y accède avec C- ( touche controle)
Si la fonction est en bleu, on y accède avec C- ( touche controle)
Si la fonction est en rouche, on y accède avec M- (touche Méta ou Alt)
Si la fonction est en rouge, on y accède avec M- (touche Méta ou Alt)
Si la fonction est en noir, on y accède en pressant simplement la touche
Si la fonction est en noir, on y accède en pressant simplement la touche.
Les cases en mauve servent à repérer la position des 4 doigts sur la ligne de repos
[[Image:emacs_main_droit_bepo2.png|800px|center|thumb|Détail des raccourcis pour la main droite]]
[[Image:emacs_main_droit_bepo2.png|800px|center|thumb|Détail des raccourcis pour la main droite]]


Vous remarquerez que la granularité des action est presque la même entre la rangée consacrée à la suppression et la rangée consacré au déplacement.
Vous remarquerez que la granularité des action est la même entre la rangée consacrée à la suppression et la rangée consacré au déplacement.
Donc un fois qu'on a assimilé la manière de se déplacer de mot en mot, on sait faire de même pour supprimer un mot en une seule fois.
Donc un fois qu'on a assimilé la manière de se déplacer de mot en mot, on sait faire de même pour supprimer un mot en une seule fois.


Il devrait être aisé d'apprendre ces raccourcis, d'autant plus pour ceux qui sont déjà familier avec emacs.
Il devrait être aisé d'apprendre ces raccourcis, d'autant plus pour ceux qui sont déjà familier avec emacs.
Le plus beau, c'est on a déjà assigné l'essentiel de l'édition de texte, on peut dont déjà utiliser emacs sans la souris, sauf pour quitter et sauvegarder.
Le plus beau, c'est on a déjà assigné l'essentiel de l'édition de texte, on peut donc déjà utiliser emacs sans la souris, sauf pour quitter et sauvegarder.


==Main gauche==
==Main gauche==
Avec la main gauche, on s'occupe des buffers, des fichiers, et de la navigation entre tout ce qu'on a déjà ouvert.
Avec la main gauche, on s'occupe des buffers, des fichiers, et de la navigation entre tout ce qu'on a déjà ouvert.
/EN CONSTRUCTION/
Étant donné qu'il n'y a pas de touche alt du côté droit, j'essaie de n'utiliser que la touche C- pour les raccourcis
 
Voici le plan général
 
[[Image:emacs_main_gauche_bepo1.png|800px|center|thumb|Actions effectuées par la main gauche]]
 
Pour le détail, je suis beaucoup moins sûr que pour la main droite, mais voici un premier jet montrant l'affectation précise que je propose:
[[Image:emacs_main_gauche_bepo2.png|800px|center|thumb|détail des actions effectuées par la main gauche]]
 
Je pense que le placement des raccourcis reste relativement intuitif.
Il faut remarquer que je souhaite placer la touche début et fin de macro au même endroit, c'est plus facile à retenir.
 
Plus besoin d'un raccourci composé de deux touche pour taper un commande dans le mini-buffer
Plus besoin d'un raccoaurci composé de deux touche pour quitter le minibuffer (F5)
 
 
==Le code pour adapter Emacs==
 
Malheureusement, la disposition n'est pas encore prête.
J'ai des difficultés a assigner les touches accentuées à des fonctions, et je me demande s'il est possible d'assigner une touche morte telle que '^'
Certaines fonctionnalités semblent ne pas fonctionner, comme la navigation entre les buffers (C-i et C-e) dans le sens des aiguilles d'une montre et dans le sens contraire.
 
Pour finir, certaines fonctionnalités sont à coder, mais on peut peut-être trouvé quelqu'un qui s'en est déjà occupé. Je veux parler notamment d'une fonction pour couper toute la ligne sur laquelle se trouve le curseur, fonction que j'emprunte à vim.
 
Je cherche actuellement un moyen de partager le fichier codé en EmacsLisp que j'ai testé et crée pour cette disposition.
 
/En courstruction/

Version du 1 février 2012 à 00:48

Ici une tentative de rendre agréable l'utilisation d'Emacs en BÉPO avec un clavier typematrix

Deux grosse famille de solution:

  • On essaie d'émuler le comportement ancien d'Emacs
  • On change presque complètement la disposition des raccourcis Emacs.

J'ai essayé la première solution... qui a bien failli me faire sombrer sous vim. Il faut dire que j'ai toujours trouvé que la disposition par défaut des raccourcis emacs était anarchique, et mal adapté aux êtres humains Je tente en ce moment avec votre aide la seconde solution. C'est ma dernière tentative de rester sous emacs malgré l'utilisation du Bépo.

La nouvelle disposition des touches a ces objectifs

  • Faire d'emacs un IDE maniable et agréable en BÉPO avec un typematrix
  • Ne pas briser trop le comportement d'emacs, donc on garde la possibilité de faire C-x 'autre touche'
  • Avoir une disposition des raccourcis facile à apprendre (sinon autant aller sous vim)
  • Avoir une disposition des raccourcis efficace
  • Avoir les raccourcis les plus utiles en accès direct C-'touche', plutot que C-x + 'touche'

Bref, tout l'essentiel de l'éditeur de texte, et l'essentiel de l'environnement de développement.

Main Droite

Avec la main droite:

  • On se déplace avec la ligne de repos
  • on supprime en dessous de celle-ci
  • on insère en étant au dessus

Voici une image pour clarifier tout ça. (les touches en mauves matérialisent la position des doigts sur la ligne de repos).

Actions effectuées par la main droite

Maintenant que nous avons un vue globale du fonctionnement recherché, entrons dans le détail. Dans l'image ci-dessous, les touches sont reliés à une ou plusieurs fonctions. Si la fonction est en bleu, on y accède avec C- ( touche controle) Si la fonction est en rouge, on y accède avec M- (touche Méta ou Alt) Si la fonction est en noir, on y accède en pressant simplement la touche. Les cases en mauve servent à repérer la position des 4 doigts sur la ligne de repos

Détail des raccourcis pour la main droite

Vous remarquerez que la granularité des action est la même entre la rangée consacrée à la suppression et la rangée consacré au déplacement. Donc un fois qu'on a assimilé la manière de se déplacer de mot en mot, on sait faire de même pour supprimer un mot en une seule fois.

Il devrait être aisé d'apprendre ces raccourcis, d'autant plus pour ceux qui sont déjà familier avec emacs. Le plus beau, c'est on a déjà assigné l'essentiel de l'édition de texte, on peut donc déjà utiliser emacs sans la souris, sauf pour quitter et sauvegarder.

Main gauche

Avec la main gauche, on s'occupe des buffers, des fichiers, et de la navigation entre tout ce qu'on a déjà ouvert. Étant donné qu'il n'y a pas de touche alt du côté droit, j'essaie de n'utiliser que la touche C- pour les raccourcis

Voici le plan général

Actions effectuées par la main gauche

Pour le détail, je suis beaucoup moins sûr que pour la main droite, mais voici un premier jet montrant l'affectation précise que je propose:

détail des actions effectuées par la main gauche

Je pense que le placement des raccourcis reste relativement intuitif. Il faut remarquer que je souhaite placer la touche début et fin de macro au même endroit, c'est plus facile à retenir.

Plus besoin d'un raccourci composé de deux touche pour taper un commande dans le mini-buffer Plus besoin d'un raccoaurci composé de deux touche pour quitter le minibuffer (F5)


Le code pour adapter Emacs

Malheureusement, la disposition n'est pas encore prête. J'ai des difficultés a assigner les touches accentuées à des fonctions, et je me demande s'il est possible d'assigner une touche morte telle que '^' Certaines fonctionnalités semblent ne pas fonctionner, comme la navigation entre les buffers (C-i et C-e) dans le sens des aiguilles d'une montre et dans le sens contraire.

Pour finir, certaines fonctionnalités sont à coder, mais on peut peut-être trouvé quelqu'un qui s'en est déjà occupé. Je veux parler notamment d'une fonction pour couper toute la ligne sur laquelle se trouve le curseur, fonction que j'emprunte à vim.

Je cherche actuellement un moyen de partager le fichier codé en EmacsLisp que j'ai testé et crée pour cette disposition.

/En courstruction/