Journal Des prompteurs pour Emacs

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
11
24
juil.
2014

Et si 12 prompteurs multipliés par 12 touches équivalaient à 144 raccourcis claviers en moins à mémoriser?
(et encore, on aurait ajouté un niveau, c'eut été digne de Inception cette histoire)

Voilà voilà "emacs-nu" est une idée toute simple : s'il y a des raccourcis qui valent bien la peine d'être appris ce sont les touches les plus courantes, pas les autres. Pour les autres, il faut rester sur les raccourcis claviers standard. CONTROL+S doit sauver c'est tout!

Bon certes, mais pourquoi écrire un mode (global mineur) pour cela? eh bien, parce que si Control+f ne fait "que" chercher, l'utilisateur va devoir apprendre Control+shift+f pour chercher autrement, et control+alt+f, et puis.. et puis… bref. Le mieux est donc d'afficher un "prompt" : lorsque control f est utilisé : tout plein de fonctions liées à la recherche - voire la navigation - vont être proposées. Tout simple. Déclinons cette idée à d'autre touche et nous obtenons enfin du repos bien mérité.

Rien de technique, tout cela relève de code de singe - en attendant, le code est là, me soulage bien la vie, et y'a même de la doc.

https://github.com/pyluyten/emacs-nu/
https://github.com/pyluyten/emacs-nu/blob/master/doc/nu.pdf

  • # Histoire

    Posté par  (site web personnel) . Évalué à 5. Dernière modification le 24 juillet 2014 à 21:44.

    C'est toujours le même problème avec les logiciels qui ont une base d'utilisateurs vaste : combien coûte le changement ?

    Gnu/Emacs a été créé durant une période où chaque logiciel avait ses propres raccourcis clavier, et chacun était différent. Vi en fait parti (Vi et Emacs ont environ 38 ans).

    Avec le temps, les Common User Access (CUA) ont été adoptés par les nouveaux logiciels.

    Mais alors, quid de Vi et d'Emacs ?
    D'un côté, il faudrait revoir l'ensemble des raccourcis claviers, et donc forcer la base d'utilisateurs à changer (et à s'entendre sur un nouveau standard), et d'un autre, les nouveaux utilisateurs qui gueulent car c'est casse-pieds.

    Je pense qu'il faudrait peut-être présenter un double jeu de raccourcis : l'un ancien, et l'autre nouveau, activable par l'utilisateur selon son bon vouloir.
    Le seul souci, c'est que chaque raccourci est codé en dur dans toutes les extensions, alors ça risque de prendre quelques années.

    Si tu en as l'envie, pourquoi ne pas proposer ton aide sur la liste de diffusion pour lancer ce projet ?

    • [^] # Re: Histoire

      Posté par  (site web personnel) . Évalué à 4.

      ErgoEmacs est intéressant sur ce point car il a introduit des "thèmes" (de raccourcis claviers) comportant des "composants". On peut choisir ou développer facilement son thème, & les composants (ex: control+c control+v) définis sont réutilisables pour d'autres.

      https://github.com/ergoemacs/ergoemacs-mode/blob/master/ergoemacs-themes.el

      PS beaucoup d'utilisateur d'emacs doivent penser comme moi que les raccourcis vi ont moins mal vieilli. Certes les hjkl de nos claviers n'ont pas les flêches affichées, mais cela reste tellement logique. Quand au standard, le fait que ce soit modal barre de toutes façons la route au standard.

    • [^] # Re: Histoire

      Posté par  . Évalué à 4.

      Avec le temps, les Common User Access (CUA) ont été adoptés par les nouveaux logiciels.

      Mais alors, quid de Vi et d'Emacs ?

      Je ne sais pas pour vim mais pour emacs il y a une case a cocher dans le menu option pour utiliser CUA! Elle s'appelle meme "Use CUA keys" mais bon c'est ultra basique par rapport a tout les raccourcis clavier que propose emacs.

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 7. Dernière modification le 25 juillet 2014 à 13:07.

        Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Histoire

      Posté par  . Évalué à 1.

      Tu prends les choses à l'envers. Pourquoi changer vi pour correspondre aux autres logiciels quand on peut changer les autres logiciels pour qu'ils fonctionnent comme vi ?

      Tout les logiciels que j'utilise ont des raccourcis clavier vi-like et j'en suis pleinement satisfait. Meme quand en stage j'ai du utiliser visual studio, j'ai trouvé un mode vi pour ce logiciel.

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2. Dernière modification le 28 juillet 2014 à 18:54.

        Ce commentaire a été supprimé par l’équipe de modération.

        • [^] # Re: Histoire

          Posté par  . Évalué à 0.

          Tu parles de quel navigateur ? ça marche pas chez moi ces raccourcis dans firefox, à moins que ça soit vimperator qui les désactives, je sais pas, mais je pense pas.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à 2. Dernière modification le 28 juillet 2014 à 20:14.

            Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à 5. Dernière modification le 28 juillet 2014 à 20:42.

            Ce commentaire a été supprimé par l’équipe de modération.

            • [^] # Re: Histoire

              Posté par  . Évalué à -2.

              Je ne veux pas briser tes rêves, mais j'utilise le mode vi dans mon shell.

              • [^] # Commentaire supprimé

                Posté par  . Évalué à 4. Dernière modification le 28 juillet 2014 à 21:04.

                Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à 5.

            Ce commentaire a été supprimé par l’équipe de modération.

  • # Commentaire du jour

    Posté par  . Évalué à 10.

    J'ai comme l'impression que tu essaies de rendre Emacs plus accessible et plus utilisable.

    En quoi ton projet est-il tellement différent de tous les autres qui vont dans ce sens. Je veux dire, en prenant un exemple complètement au hasard, qu'est-ce que ça fera de plus que celui-ci?

    • [^] # Re: Commentaire du jour

      Posté par  (site web personnel) . Évalué à 10.

      pouah

    • [^] # Re: Commentaire du jour

      Posté par  (site web personnel) . Évalué à 4.

      héhé , troll à part:

      nous savons tous que evil-mode rend disponible dans emacs les touches / le comportement de vim. L'intérêt bien sûr étant de continuer de profiter de Lisp, et donc de pouvoir étendre son "vim dans emacs" très très facilement (par un exemple un shell ou ce qui nous chante).

      Ce qui est peut être moins connu, est que evil-mode propose très facilement de "switcher" depuis l'"état" vim (ce qui inclut donc ) vers l'état emacs (comportement standard de emacs). Et nous pouvons bien sûr repasser de l'état emacs à l'état vim.

      Il est donc parfaitement possible d'utiliser nu-emacs ou ergoemacs ou ce que l'on veut et, d'un raccourci clavier, de passer en éditeur modal. L'intérêt?
      - si vous travaillez dans un contexte ou les deux mains sur le clavier sont pénibles / ou avec pleins de logiciels "imposant" des raccourcis standard, utilisez l'éditeur dans l'état emacs
      - si vous avez les mains fatiguées par les Alt+Control & plein de texte à éditer, passez en éditeur modal pour vous reposer les mains

      • [^] # Re: Commentaire du jour

        Posté par  (site web personnel) . Évalué à 2.

        +1

        Surtout qu'il est très facile dans evilmode de surcharger Ctrl+s, Ctrl+x, …. Pour remapper ces combinaisons de touches sur les classiques "save", "cut", … si le besoin s'en fait vraiment sentir.

        • [^] # Commentaire supprimé

          Posté par  . Évalué à 4.

          Ce commentaire a été supprimé par l’équipe de modération.

          • [^] # Re: Commentaire du jour

            Posté par  (site web personnel) . Évalué à 4.

            Je ne connaissais pas les advices dans emacs, ça à l'air bien ce truc !

            Dans le contexte « Evil » je ne vois pas trop ce que ça apporte, mais c'est puissant comme fonctionnalité :)

            • [^] # Commentaire supprimé

              Posté par  . Évalué à 2.

              Ce commentaire a été supprimé par l’équipe de modération.

            • [^] # Re: Commentaire du jour

              Posté par  . Évalué à 1.

              C'est une fonctionnalité très puissante mais il est déconseillé de l'utiliser car si tu "advices" une fonction, ça peut perturber le fonctionnement d'autres parties du système qui appellent cette fonction. Et puis il y aussi le fait qu'il n'est pas facile de savoir l'ordre des "advices".

              Donc il vaut mieux chercher une autre solution quand on pense avoir besoin de cette fonctionnalité. Pour l'exemple donné par xaccrocheur, il est préférable de définir 2 fonctions "my-kill-ring-save" et "my-kill-region" et de remapper les raccourcis claviers qui vont bien.

            • [^] # Re: Commentaire du jour

              Posté par  . Évalué à 3.

              On appel ça de la programmation orientée aspect, c'est puissant, mais assez dangereux en effet (et peu utilisé au final mis à part dans quelques situations classiques).

              tout ça pour dire que c'est probablement très bien fait emacs-lisp, mais que ça existe dans pas mal de langages.

              Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: Commentaire du jour

        Posté par  (site web personnel) . Évalué à 2.

        Pour en revenir à l'intérêt d'un truc comme evil-mode, l'autre jour j'ai fais quelques jours de pair programming via VNC avec un collègue à l'autre bout du pays, je suis emacsien et lui utilise vim, et nous étions sur mon bureau et donc mon emacs, lorsque c'était à son tour de taper (bon, je dois avouer que les lags de VNC ont vite calmé nos ardeurs), j'aurais bien voulu me souvenir de ce mode là….

  • # Commentaire supprimé

    Posté par  . Évalué à 3.

    Ce commentaire a été supprimé par l’équipe de modération.

    • [^] # Re: Ergonomics

      Posté par  (site web personnel) . Évalué à 1. Dernière modification le 25 juillet 2014 à 13:58.

      Je sauve depuis toujours avec M-s perso, et je copie avec M-w (mais ça c'est par défaut) car je veux utiliser mon pouce et mon index

      Le pouce OK ! pour le M-, mais pourquoi l'index? ils sont où le « s » et le « w » sur ton clavier ?

      • [^] # Commentaire supprimé

        Posté par  . Évalué à 2.

        Ce commentaire a été supprimé par l’équipe de modération.

  • # Affichage des raccourcis

    Posté par  . Évalué à 3.

    Je trouve que c'est une bonne idée.

    Honnêtement, je n'utilise pas emacs ni vim non plus. Je suis sous Geany.

    Dans un éditeur "idéal" (tel que je l'imagine), je pense qu'il faudrait afficher tous les raccourcis contextuellement. Comme tu le propose mais étendu partout.

    Par exemple, si on est au début d'un mot on peut faire des choses en plus comme "Ctrl+flêche droite" pour aller à la fin du mot.

    L'écran serait divisé en deux. A gauche la zone d'édition "classique", à droite la liste de tous les raccourcis utilisables dans le contexte. Il y a quasiment toujours de la place à droite de l'écran (du "blanc") car le code est structuré en bloc.

    En fait, j'ai déjà vu ça plusieurs fois notamment dans TempleOS (http://www.youtube.com/watch?v=EViG0Q4lTeA). Ce gars fait des choses très intéressantes.

    Je me souviens des anciennes interfaces en mode texte. Il y avait des menus hiérarchiques numérotés et/ou avec touches de fonction.

    Les utilisateurs finissaient par les connaitre par coeur. Ils n'avaient plus besoin de lire l'écran.

    Dans les interfaces fenêtrées, tout est caché dans les menus de la fenêtre ou les menus contextuels. Au final, ce n'est pas très ergonomique.

    • [^] # Re: Affichage des raccourcis

      Posté par  . Évalué à 5.

      Je me souviens des anciennes interfaces en mode texte. Il y avait des menus hiérarchiques numérotés et/ou avec touches de fonction.

      C'est ce que fait l'éditeur nano. Une fois qu'on connaît les raccourcis on peut désactiver l'affichage de cette aide.

      • [^] # Re: Affichage des raccourcis

        Posté par  . Évalué à 1.

        Nano est assez limité je trouve. Un autre éditeur dans cet esprit est ee, et il a l'air plus puissant.

        Emacs le fait depuis 30 ans.

        • [^] # Re: Affichage des raccourcis

          Posté par  . Évalué à 2.

          Nano est assez limité je trouve.

          Mouais, après ça dépend de ce qu'on attend d'un éditeur… Vi et emacs font le café c'est génial, moi je préfère un éditeur basique. Si j'ai besoin de fonctionnalités d'édition poussées j'utilise awk.

          • [^] # Commentaire supprimé

            Posté par  . Évalué à 2. Dernière modification le 02 août 2014 à 18:54.

            Ce commentaire a été supprimé par l’équipe de modération.

  • # discover.el

    Posté par  . Évalué à 3.

    Salut,
    Je ne trouve pas ta doc très explicite.
    2 remarques:
    - ton projet n'est-il pas similaire à discover.el ? http://www.masteringemacs.org/articles/2013/12/21/discoverel-discover-emacs-context-menus/
    - des plans pour une recette MELPA ?

    cheers

    • [^] # Re: discover.el

      Posté par  (site web personnel) . Évalué à 2.

      Hello,

      je ne découvre le commentaire que là

      Discover.el fait visiblement dans l'orfèvrerie. Mais du coup les prompteurs sont forcément définis à la main : pour un nombre limités de fonctions, & sans possibilité de customiser (tant mieux si je me trompe!).

      De plus il s'agit visiblement de documenter du raccourcis standard, là où nu-mode veut passer.. tout en key sequence. Avec des raccourcis en séquence, tout en respectant les raccourcis standards, on peut couvrir toutes les fonctionnalités emacs, même en intégrant celles de modes majeurs (je commence à travailler sur org-mode). C'est la grosse différence. Il faut aussi noter que mes prompts ont destinée à être conditionnels : par exemple, selon que l'on soit en mode overwrite / read-only / ou "normal", le prompt pour control+r "replace" ne doit pas produire la même chose.

      Magit est justement un mode que je trouve mauvais du point de vue ergonomique. A demander where-is pour git push, on ne trouve rien. A passer par le menu, on n'en apprends pas plus.

      Effectivement ma doc n'est pas encore au point. je suis preneur de remarques pour y remédier. Pour MELPA, j'attendais un peu de stabilité, je peux à présent regarder

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.