« Utilisateur:Lots of birds/Emacs » : différence entre les versions
(rajout de liens vers d'autres configurations proposés pour emacs en bépo) |
Aucun résumé des modifications |
||
(11 versions intermédiaires par le même utilisateur non affichées) | |||
Ligne 1 : | Ligne 1 : | ||
Ici une tentative de rendre agréable l'utilisation d'Emacs en BÉPO avec un clavier typematrix | Ici une tentative de rendre agréable l'utilisation d'Emacs en BÉPO avec un clavier typematrix | ||
Deux | Deux familles de solution: | ||
* On essaie d'émuler le comportement ancien d'Emacs | * On essaie d'émuler le comportement ancien d'Emacs | ||
* 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. 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 | 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. | 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 des raccourcis facile à apprendre (sinon autant aller sous vim) | * Avoir une disposition des raccourcis facile à apprendre (sinon autant aller sous vim) | ||
* Avoir une disposition des raccourcis efficace | * Avoir une disposition des raccourcis efficace | ||
* Avoir les raccourcis les plus utiles en accès direct C-'touche', | * Avoir les raccourcis les plus utiles en accès direct C-'touche', plutôt que C-x + 'touche' | ||
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. | ||
Vous pourriez être aussi intéressé par la configuration proposée par [[Utilisateur:Sarcastic/Emacs|Sarcastic]] ou [[Utilisateur:Louiz’/Emacs|Louiz’]] | Vous pourriez être aussi intéressé par la configuration proposée par [[Utilisateur:Sarcastic/Emacs|Sarcastic]] ou [[Utilisateur:Louiz’/Emacs|Louiz’]]. | ||
==Main Droite== | ==Main Droite== | ||
Avec la main droite: | Avec la main droite : | ||
* | * on se déplace avec la ligne de repos | ||
* on supprime en dessous de celle-ci | * on supprime en dessous de celle-ci | ||
* on insère en étant au dessus | * on insère en étant au dessus | ||
Ligne 29 : | Ligne 29 : | ||
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. | 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 | Si la fonction est en bleu, on y accède avec C- ( touche contrôle) | ||
Si la fonction est en rouge, 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. | ||
Ligne 62 : | Ligne 62 : | ||
Le code pour adapter emacs est disponible a cette adresse | Le code pour adapter emacs est disponible a cette adresse | ||
https://bitbucket.org/lots_of_birds/bepo_emacs/src | https://bitbucket.org/lots_of_birds/bepo_emacs/src | ||
Pour appliquez les commandes en Emacs Lisp, importez ce fichiers, et tapez dans le minibuffer (avec M-x) eval-buffer | Pour appliquez les commandes en Emacs Lisp, importez ce fichiers, et tapez dans le minibuffer (avec M-x) eval-buffer | ||
Malheureusement, la disposition n'est pas encore prête. | Malheureusement, la disposition n'est pas encore prête. | ||
Certaines fonctionnalités sont à coder, mais on peut peut-être trouver 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. | |||
Certaines | |||
==Bugs connus actuels== | ==Bugs connus actuels== | ||
Ci-dessous, seulement les lignes problématiques de mon .emacs | Ci-dessous, seulement les lignes problématiques de mon .emacs | ||
<pre><nowiki> | <pre><nowiki> | ||
;Bugs; | ;Bugs ;; nouveaux bugs rapporté par la discussion; | ||
;;Si on fait C-s plusieurs fois de suite ça recherche le suivant, puis ça boucle, etc. Là avec C-v, ça ne marche pas. | |||
;;;Éléments de réponses au problème: | |||
;;;J'ai jeté un oeuil au sujet du raccourcis recherché, et je confirme que ça ne fonctionne pas. J'ai trouvé d'où vient le problème, mais je ne sais pas comment le corriger. Si tu vas dans la doc de la fonction (par C-h f, suivi du nom de la fonction de recherche (isearch-forward)), on voit que le ce qui permet de passer à l’occurrence suivante de la recherche (C-s) est un raccourcis mappé dans 'isearch-mode-map'. Pour ce qui est de savoir comment modifier ce raccourcis un peu enfouis. Il devrait y avoir la réponse quelque part là-dedans: http://stackoverflow.com/search?q=emacs+mode-map&submit=search | |||
( | |||
( | |||
( | |||
;Fonction a coder ou a trouver; | ;Fonction a coder ou a trouver; | ||
;(global-set-key [?\M-g] ');;TODO Copy whole line a coder | ;(global-set-key [?\M-g] ');;TODO Copy whole line a coder | ||
(global-set-key [f1] ') ;;TODO fonction start/end macro | (global-set-key [f1] ') ;;TODO fonction start/end macro | ||
;; Sans doute d'autres à venir | |||
</nowiki></pre> | </nowiki></pre> |
Dernière version du 16 octobre 2014 à 14:17
Ici une tentative de rendre agréable l'utilisation d'Emacs en BÉPO avec un clavier typematrix
Deux familles 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', plutôt que C-x + 'touche'
Bref, tout l'essentiel de l'éditeur de texte, et l'essentiel de l'environnement de développement.
Vous pourriez être aussi intéressé par la configuration proposée par Sarcastic ou Louiz’.
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).
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 contrôle) 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
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
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:
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
Le code pour adapter emacs est disponible a cette adresse https://bitbucket.org/lots_of_birds/bepo_emacs/src
Pour appliquez les commandes en Emacs Lisp, importez ce fichiers, et tapez dans le minibuffer (avec M-x) eval-buffer
Malheureusement, la disposition n'est pas encore prête. Certaines fonctionnalités sont à coder, mais on peut peut-être trouver 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.
Bugs connus actuels
Ci-dessous, seulement les lignes problématiques de mon .emacs
;Bugs ;; nouveaux bugs rapporté par la discussion; ;;Si on fait C-s plusieurs fois de suite ça recherche le suivant, puis ça boucle, etc. Là avec C-v, ça ne marche pas. ;;;Éléments de réponses au problème: ;;;J'ai jeté un oeuil au sujet du raccourcis recherché, et je confirme que ça ne fonctionne pas. J'ai trouvé d'où vient le problème, mais je ne sais pas comment le corriger. Si tu vas dans la doc de la fonction (par C-h f, suivi du nom de la fonction de recherche (isearch-forward)), on voit que le ce qui permet de passer à l’occurrence suivante de la recherche (C-s) est un raccourcis mappé dans 'isearch-mode-map'. Pour ce qui est de savoir comment modifier ce raccourcis un peu enfouis. Il devrait y avoir la réponse quelque part là-dedans: http://stackoverflow.com/search?q=emacs+mode-map&submit=search ;Fonction a coder ou a trouver; ;(global-set-key [?\M-g] ');;TODO Copy whole line a coder (global-set-key [f1] ') ;;TODO fonction start/end macro ;; Sans doute d'autres à venir