Journal Pourquoi Emacs? (Première partie)

Posté par  . Licence CC By‑SA.
Étiquettes :
28
23
nov.
2017

Sommaire

Emacs est, de loin, mon éditeur de code préféré. Dans cet article je vais passer en revue ce qui me plais dans ce logiciel, ou ce qui pourrait plaire à un informaticien. Ces écrits sont un peut long, aussi ils seront séparés en plusieurs parties. Cette partie couvrira les bases, l'édition de texte et l'usage du clavier.

Attention, il ne s'agit pas d'un cours sur Emacs, le but de cet article est d'en parcourir les atouts.

Quelques liens utiles:

Libre et multiplateforme

Un des premiers points intéressant avec Emacs, c'est qu'il est libre. Sous licence GPLv3. De plus, il est disponible sur GNU/Linux, MacOS, Windows, Android via Termux, FreeBSD, NetBSD, OpenBSD et Solaris.

Il peut autant fonctionner au travers d'un terminal qu'avec sa propre interface graphique. La version graphique à l'avantage de permettre l'affichage d'images, l'usage de la souris et fournit un menu ainsi qu'une barre d'outils.

Léger et modulaire

Initialement conçu pour traiter du texte depuis un terminal, Emacs est très léger et peu consommateur de ressources. Il tourne tout aussi bien sur des machines modernes qui sur de vieux modèles.

Emacs est avant-tout un éditeur de texte et de code source. Mais il propose également des fonctionnalités optionnelles qu'on retrouve dans un IDE comme la gestion de projet, générer du code, trouver la déclaration d'une fonction, etc.

100% clavier

On peut utiliser la souris avec Emacs dans sa version graphique, mais ce n'est absolument pas obligatoire. On peut utiliser 100% du logiciel sans lever les mains de son clavier.

Un grand nombre d'action sont disponibles par un simple raccourcis clavier. Par exemple, les touches dédiées du clavier, comme Home, End, les touches fléchées, etc. ont leur équivalents en raccourci sous la forme Ctrl + lettre.

En plus des fonctions de manipulation de texte, Emacs en fournit de spécifiques en fonction du contexte. Par exemple, si vous éditez du code en Python, Emacs vous propose de démarrer un interpréteur Python et d'y envoyer le code que vous êtes en train d'écrire. Autre exemple: si vous écrivez un e-mail, Emacs vous propose des fonctions pour
ajouter des champs à celui-ci ou des pièces jointes.

Certaines fonctions peuvent être appelées avec un raccourcis clavier, mais toutes sont exécutables en tapant Alt-X + _nom_de_la_fonction_.

Tutoriel inclus

Emacs inclut un tutoriel dans plusieurs langues. Ce tutoriel est accessible dès le buffer d’accueil. Il vous expliquera les raccourcis clavier pour manipuler le texte, la structure d'Emacs, son système de modes et de fenêtres, etc.

Manipulation du texte

Emacs fournit les possibilités classiques de manipulation de texte, accompagnées de quelques plus:

  • Déplacement du curseur de texte d'un caractère, d'un mot, d'une ligne, d'une phrase, d'un paragraphe ou d'un écran, au début ou à la fin du fichier, à une ligne précisée par son numéro
  • Suppression d'un caractère, d'un mot, de la fin de la ligne ou de la phrase.
  • Inversion de deux lettres, deux mots ou deux lignes. En cas d'inversion de deux mots séparés par une ponctuation, celle-ci sera prise en compte.
  • Passer un mot en majuscule, minuscule ou le capitaliser.
  • Indenter automatiquement le code.
  • Commenter/décommenter une région.

Pour sélectionner du texte, il n'y a pas besoin de maintenir la touche Shift enfoncée. Il suffit de placer le curseur de texte au début de la zone à sélectionner, de taper Ctr-X Espace et la sélection est enclenchée. Pas besoin de maintenir la moindre touche. On peut ensuite bouger le curseur pour agrandir la zone sélectionnée, appelée Région dans Emacs. On peut faire sauter le curseur au début ou à la fin de la Région avec Ctrl-x Ctrl-x. Très pratique pour corriger une
mauvaise sélection

On peut utiliser une région pour limiter l'action d'une fonction d'Emacs, comme par exemple "rechercher et remplacer" ou "commenter le code". On peut également exécuter une commande dans un shell (bash ou autre) en lui passent le texte sélectionné avec une région. Le texte ainsi sélectionné peut, si on le souhaite, être remplacé par le résultat de la commande.

Enfin, si Emacs permet une sélection classique, c'est à dire tous les caractères entre le début et la fin d'une région, il propose également d'utiliser les marqueurs de région pour "dessiner" un rectangle et ensuite de ne manipuler que les caractères se trouvant dans ce rectangle.

Exemple:

Démonstration de la sélection par rectangle

Kill-ring

Le presse-papier d'Emacs à une particularité: Quand on y place du texte, ce qui y était précédemment n'est pas perdu. On peut toujours le récupérer. Ainsi, quand on colle le contenu du presse-papier, c'est le dernier élément à y avoir été inséré qui apparait Ensuite, on peut remplacer dans le texte ce résultat par ce qui avait été précédemment
déposé dans le presse-papier.

Par exemple, si j'ai le texte "À deux mains" dans le presse-papier et que j'y place le texte "dimanche valent mieux qu'une". Au moment de coller le contenu du presse-papier, j'obtiens "dimanche valent mieux qu'une". Avec un simple raccourcis clavier, je peux remplacer, dans mon texte, "dimanche valent mieux qu'une" par "À deux mains". Et je peux ainsi remonter l’historique du presse-papier. Dans cette historique, la fin est reliée au début, formant un anneau. D'où le nom "kill-ring".

Mark-ring

Emacs permet de placer des marqueurs où on le souhaite dans le texte que l'on manipule. On peut ensuite faire sauter le curseur de texte d'un marqueur à l'autre. Très pratique quand on souhaite revenir plus tard sur un bout de code.

Macro clavier

Emacs propose d'enregistrer ce que l'on tape au clavier en tant que macro. Il est possible ensuite de répéter ce qui a été enregistré autant de fois que l'on le souhaite. On peut même préciser combien de fois le répéter.

Lors de l'enregistrement d'une macro, un compteur peut être inséré dans le texte. On peut aussi donner un nom à cette macro pour l'appeler comme une fonction interactive et la sauvegarder pour qu'elle survive à la session. Il est aussi possible d'éditer une macro après enregistrement.

Fermeture automatique et mise en évidence des délimiteurs

Emacs peut automatiquement fermer des parenthèses ou des guillemets. Par exemple, si je tape ", Emacs écrira automatiquement
la " fermante.

Si je sélectionne une région et que je tape un guillemet ou une parenthèse, Emacs entourera cette région avec le caractère choisi.

Et si je place le curseur de clavier à coté d'une parenthèse (ou d'un guillemet), alors sa parenthèse (ou guillemet) correspondante sera mise en évidence.

Ces 3 fonctionnalités ne sont malheureusement pas activées par défaut.

Conclusion de la première partie

Cette partie est loin de couvrir toutes les possibilités d'Emacs en matière d'édition de texte. C'est un logiciel très puissant dans ce domaine (et d'autres). Le seul logiciel à arriver à un tel niveau pour l'édition du texte est VI(M). Et encore, je ne suis pas sur que tout ce que permette Emacs soit possible avec VI(M).

  • # Troll

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

    Vim, c'est mieux.

    • [^] # Re: Troll

      Posté par  . Évalué à 6.

      ouais mais sur vim on n'a pas de google maps :/

      • [^] # Re: Troll

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

        Ça confirme la proposition précédente :)

        • [^] # Re: Troll

          Posté par  . Évalué à 9.

          Sauf quand tu es perdu dans les bois et que tu as juste téléphone dans ton sac à dos avec vim et emacs d'installé.

          Ce qui arrive trop fréquemment, il faut bien le dire.

    • [^] # Re: Troll

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

      Tu ne peux pas comparer un éditeur de texte et un système d’exploitation !

    • [^] # Re: Troll

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

      Vim c'est mieux …

      En plus il paraît qu'un 6eme doigt pousse sur la main gauche si tu utilises trop Emacs …

  • # On repart sur la guéguerre

    Posté par  . Évalué à 3.

    Attention : mon point de vue est biaisé, j'utilise Vim tous les jours.

    Et encore, je ne suis pas sur que tout ce que permette Emacs soit possible avec VI(M).

    En fait, avec Vi c'est sur que non. Mais Vim permet de faire tout autant de choses qu'Emacs.

    La vraie différence se situe dans la manière de faire puisque Vi(m) est un éditeur modal.
    En tant qu'utilisateur de (Neo)Vim, je dirai que l'avantage de ce dernier est que je ne me tords pas les doigts pour faire la moindre action un peu "complexe". Toutefois l'inconvénient c'est le côté déroutant d'un éditeur modal quand on n'a pas l'habitude.

    À force de l'utiliser, je dois avouer que j'ai quelques secondes d'hésitations quand c'est Nano qui s'ouvre lors d'une édition sur une machine qui ne m'appartient pas. Heureusement, Vi est présent sur tout système POSIX, donc on peut vite retomber sur nos pattes quand on a l'habitude.

    Après, comme dirait l'autre, les goûts et les couleurs … Les personnes que je connais qui utilisent Emacs ou Vim sont toutes aussi efficaces à expérience égale sur leur éditeur. Je remarque que c'est moins vrai pour ceux qui utilisent des éditeurs "modernes" (Sublime Text, Atom …), sûrement à cause de l'habitude de la souris qui reste.

    • [^] # Re: On repart sur la guéguerre

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

      Mais Vim permet de faire tout autant de choses qu'Emacs.

      Mouais. Faut avoir une sacrée connaissance des deux outils pour se permettre de dire ça.

      https://unix.stackexchange.com/questions/986/what-are-the-pros-and-cons-of-vim-and-emacs
      https://stackoverflow.com/questions/1430164/differences-between-emacs-and-vim

      • [^] # Re: On repart sur la guéguerre

        Posté par  . Évalué à 4. Dernière modification le 23 novembre 2017 à 17:56.

        J'ai surtout constaté qu'au fil de discussions avec les utilisateurs des deux éditeurs, quand on évoque une fonctionnalité sur l'un, on se rend compte qu'elle existe aussi sur l'autre.
        Après j'admets que de base, j'ai l'impression que Vim a besoin de certaines configurations qu'Emacs a déjà par défaut (par exemple, l'auteur parle des parenthèses fermantes qui se mettent toutes seules en activant une option : sur Vim, il faut "bricoler" un peu plus).

        Honnêtement, j'ai très peu utilisé Emacs mais je suis entouré de plus d'utilisateurs de celui-ci que de Vim et j'ai souvent eu des discussions très intéressantes avec eux, qui nous ont toujours menées à découvrir que finalement, avec l'un ou l'autre, on peut atteindre le même objectif en utilisant des fonctionnalités très similaires (voire identiques).

        Après, je parle surtout en tant qu'éditeurs. Je ne connais personne qui utilise l'un ou l'autre pour autre chose, sauf un ancien collègue qui lisait ses mails dessus (mais il a fini par passer sur autre chose) et un collègue actuel qui aime conclure les comparaisons sur le fait que "Sur Emacs, je peux lire une vidéo YouTube !" (mais il ne profite pas de cette possibilité au final). D'ailleurs, c'était passé sur LinuxFr !

        • [^] # Re: On repart sur la guéguerre

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

          trop gros, passera pas.

          Avec Emacs on lit & compose des mails. Y'a, au bas mot, 6 lecteurs de mails différents.
          Dired, qui permet de naviguer dans les fichiers, permet aussi d'éditer des noms de fichiers comme du texte : cad en bénéficiant des mêmes fonctionnalités. Emacs n'a pas UNE sélection en rectangle, il en a au moins 3 (le rectangle CUA, celui récent je crois version 25, et le evil qui singe vim) (<--- bon ok mauvaise foi inside )

          On peut lire du rss.
          Emacs a un navigateur. Non plusieurs. Bon par contre le navigateur xwidget, pas sûr que ce soit inclus dans la moindre distrib. (des infos?)
          Emacs peut émuler VIM. Bonne chance pour émuler Emacs avec VIM!
          VIM a acquis (récemment je crois?) un terminal. Mais Emacs en a plusieurs, dont un en lisp, dans lequel on se ballade comme on se ballade dans du texte…

          VIM a bien sûr des avantages, mais ce sont plutôt : une config initiale déjà ok, plus léger, peut être plus adapté pour éditer d'énormes fichiers (encore que sous Emacs c'est possible mais faut faire attention). VIM peut être meilleur, mais pas plus complet. Et non on ne peut certainement pas citer la logique "commande -> mouvement" de VIM, puisque Emacs en est capable.

          Un combat en cours, et qui s'annonce génialissime des deux côtés, est le multi thread. Le travail commence sur Emacs, sur Vim ce serait plutôt pour les plugins pour l'instant, si j'ai bien compris. Emacs ce n'est pas encore implémenté, mais cela pourrait aller plus loin. Faites vos jeux.

    • [^] # Re: On repart sur la guéguerre

      Posté par  . Évalué à 6.

      À force de l'utiliser, je dois avouer que j'ai quelques secondes d'hésitations quand c'est Nano qui s'ouvre lors d'une édition sur une machine qui ne m'appartient pas.

      Moi, j'ai surtout un fichier qui commence par jjjjjjjjjjjj

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: On repart sur la guéguerre

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

        Et moi des documents LibreOffice qui finissent par :w

        « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

    • [^] # Re: On repart sur la guéguerre

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

      Moi quand je lis :

      Un grand nombre d'action sont disponibles par un simple raccourcis clavier. Par exemple, les touches dédiées du clavier, comme Home, End, les touches fléchées, etc. ont leur équivalents en raccourci sous la forme Ctrl + lettre.

      ça n'est pas très engageant. Est-ce une erreur, ou bien il faut toujours une combinaison de touches pour faire une action simple (dans ce cas c'est plutôt rallonge-clavier) ?

      on voit ici la supériorité de Vim, qui permet de l'utiliser avec un seul doigt

      « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

      • [^] # Re: On repart sur la guéguerre

        Posté par  . Évalué à 1.

        Je n'ai jamais dit qu'on ne pouvait pas utiliser les touches directes (Home, End, les touches fléchées, etc.).

        • [^] # Re: On repart sur la guéguerre

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

          J'avais bien compris, c'était ironique bien sûr. J'ai juste oublié le clin d'œil ;)

          « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

    • [^] # Re: On repart sur la guéguerre

      Posté par  . Évalué à 10.

      # On repart sur la guéguerre

      Mais pourquoi?
      Je suis un vimer convaincu depuis le siècle dernier mais ce genre de journal ne me pose aucuns soucis, bien au contraire, je suis même curieux d'en apprendre.

      Je me souviens de cette cheatsheet sympa (Haute définition ici):
      how to learn emacs

      Bref, ne vous laissez pas distraire par ces jeunes kékés se pensant drôles, je suis un vimer qui lira vos journaux avec intérêt!

    • [^] # Re: On repart sur la guéguerre

      Posté par  . Évalué à 2.

      En ne citant que partiellement mes propos, tu as sortis ma phrase de son contexte. Cette phrase fait suite à celle qui la précède:

      Le seul logiciel à arriver à un tel niveau pour l'édition du texte est VI(M). Et encore, je ne suis pas sur que tout ce que permette Emacs soit possible avec VI(M).

      Je donne un avis positif sur VI(M) et j'émets une réserve car je n'utilise plus VIM depuis plus de 6 ans.

      Et je ne pense pas que parler en bien d'Emacs soit un acte de guerre.

    • [^] # Re: On repart sur la guéguerre

      Posté par  . Évalué à 1.

      En fait, avec Vi c'est sur que non. Mais Vim permet de faire tout autant de choses qu'Emacs.

      Et l'inverse est probablement vrai aussi avec evil-mode tu as ton vim dans ton emacs

      • [^] # Re: On repart sur la guéguerre

        Posté par  . Évalué à 6.

        On trouve des modes Vi dans pas mal d'éditeurs, alors qu'on ne trouve pas de modes emacs.
        C'est bien la preuve que Vim, c'est plus populaire.
        C'est bien la preuve que emacs se suffit alors que les vimeux vont voir ailleurs.
        Ou le contraire!

        ----> [ ]

    • [^] # Re: On repart sur la guéguerre

      Posté par  . Évalué à 4.

      Mais Vim permet de faire tout autant de choses qu'Emacs.

      bah un truc simple: Vim ne peut pas m'afficher de photos vu qu'il est dans le terminal, Emacs si :) Mieux, Emacs me permet d'afficher des pdf et de naviguer dedans comme si c'était du texte (pdf-tools).

      Puis Emacs a quand même quelques modules sympa et mastoques, liés au fait qu'on a un language de programmation à portée: fantastique Magit, org-mode, etc

  • # Remarques

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

    1/ Le troll de fin est de trop, tu n'en as pas besoin de présenter ton éditeur préféré.

    2/ Plutôt qu'une conclusion, puisque ton ambition semble visiblement de préparer plusieurs volets à ta présentation d'emacs, ça serait de meilleur aloi de faire un paragraphe du genre "La prochaine fois, j'aborderai tel et tel thème", pas besoin d'être trop spécifique si tu n'as pas encore d'idée, mais juste une grande ligne générale

    3/ Je sais pas si c'est très élégant de poster ici un de des billets de blog, mais je ne connais pas bien l'usage d'habitude…

    • [^] # Re: Remarques

      Posté par  . Évalué à 2.

      1/ La fin n'est pas un troll: Je donne un avis positif sur VI(M) [1] et j'émets une réserve [2] car je n'utilise plus VIM depuis plus de 6 ans.

      [1]

      Le seul logiciel à arriver à un tel niveau pour l'édition du texte est VI(M).

      [2]

      Et encore, je ne suis pas sur que tout ce que permette Emacs soit possible avec VI(M).

      2/ J'en prends note pour les prochains articles. Merci. ;)

      3/ Je me suis dit que c'était plus sympa qu'un journal bookmark.

  • # j’utilise les deux

    Posté par  . Évalué à 2.

    Je dirais que la force de vim est plutôt dans les objets textes et les opérations
    fines permises par la ligne de commande. On peut même faire du traitement par lot
    (:argdo et associés).

    Les gros avantages d’emacs sont par contre bien résumé par org-mode. Le M-x n’est
    pas aussi convivial que le mode ex par contre, il faut vraiment installer helm ou
    avy pour gagner en fluidité.

    Enfin, la modalité de vim et celles d’emacs sont pensées différemment, celle
    d’emacs étant liée au type du fichier édité.

    Pour le reste, on peut souvent trouver une astuce ou un bon greffon
    correspondant à la fonctionnalité que l’on souhaite.

    • [^] # Re: j’utilise les deux

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

      y'a la ligne de commande sous Emacs. Je ne connais pas :argdo. Dired permet de faire des choses sur plusieurs fichiers à la fois
      (genre "Q" pour remplacer dans de multiples fichiers : https://www.gnu.org/software/emacs/manual/html_node/efaq/Replacing-text-across-multiple-files.html )

      Que fais tu avec ces :argdo. ça a l'air intéressant!

      • [^] # Re: j’utilise les deux

        Posté par  . Évalué à 4.

        un remplacement par exemple :

        vim *.py

        puis :

        :argdo %s/fonction_bidule/fonction_machin/

        sinon, dans le même ordre d’idée, tu as un greffon qui permet de faire des
        modifications directement dans la liste du quickfix :

        quickfix-reflector

        Une fonctionnalité similaire est disponible pour emacs, via :

        helm-ag

    • [^] # Re: j’utilise les deux

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

      T'aurais pas envie de nous écrire un journal qui nous montrerais les intérêts de chacun ? J'utilisais Nano avant pour éditer mes fichiers de config. Et puis j'ai eu envie de faire le pas. Ayant fait les deux tutos, Vim m'a semblé plus facile* (je me sers toujours des touches fléchées par contre). Et je trouverais intéressant ton expérience (et celles des autres bien sûr) à la croisée des deux.

      *si je me souviens, j'ai eu beaucoup de mal à piger les principes d'Emacs. Avec Vim, une fois que t'as compris comment entrer en mode insertion et revenir en normal pour entrer les commandes, que tu apprends petit à petit, ça devient aussi facile que Nano (avec lequel j'ai beaucoup de mal maintenant). C'est certainement aussi simple avec Emacs, détrompez-moi.

      « Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »

  • # spacemacs

    Posté par  . Évalué à 2.

    Perso j'utilise l'extension http://spacemacs.org qui je trouve rend beaucoup plus simple l'usage de emacs et des packages.

    • [^] # Re: spacemacs

      Posté par  . Évalué à 2.

      +1 (on peut le tester en ligne !) et pour info pour tout le monde, il utilise which-key-mode, qui montre tous les raccourcis possibles après une touche.

      il y a quelques autres kits de démarrage: http://wikemacs.org/wiki/Starter_Kits (Prelude est très bien, d'autres sont orientés scientifiques, etc).

  • # Wikemacs

    Posté par  . Évalué à 3.

    stp stp stp, tu pourrais lister Wikemacs directement après EmacsWiki ? Il est quand même vachement plus convivial. Il est moins utilisé, mais certaines pages sont quand même très complètes (python, git,…).

    Merci <3

  • # Emacs sucks

    Posté par  . Évalué à -2.

    Emacs sucks…

    J'aimerais pouvoir faire echo foobarbazz | emacs -.

    • [^] # Re: Emacs sucks

      Posté par  . Évalué à 3.

      Au malandrin qui m'a moinsé, dis moi comment tu fais !

      Même ça ça marche pas ! emacs <(echo foobarbazz)

      • [^] # Re: Emacs sucks

        Posté par  (site web personnel) . Évalué à 3. Dernière modification le 24 novembre 2017 à 16:19.

        Ce n'est pas moi le maladrin mais en revanche tu peux insérer la sortie d'une commande dans un buffer en faisant C-u M-! (Soit Ctrl-U suivi de Alt-! en notation bavarde). Tu peux aussi filtrer une région par une commande avec C-u M-| (le dernier caractère est un pipe).

        • [^] # Re: Emacs sucks

          Posté par  . Évalué à 5.

          Je connaissais la seconde, et je m'en servais régulièrement.

          Mais en apprenant l’existence de la première, le comprend pourquoi une construction du type command | emacs - n'a pas de sens pour un emacsien. Puis que pour eux, il n'y a rien en dehors d'emacs. Pour un emacsien, emacs c'est le processus 0.

          Je dois être un utilisateur de vi au fond, c'est juste que je suis tombé dans emacs quand j'étais petit.

          (Sérieusement, il est arrivé une période dans ma vie où j'ai dû apprendre à me servir sérieusement d'un vrai éditeur de texte, il s'est posé la question emacs vs vi. Et étant utilisateur bépo, j'ai naturellement choisi emacs. En effet, pas besoin de foutre en l'air la config par défaut pour que ce soit utilisable.

          • [^] # Re: Emacs sucks

            Posté par  . Évalué à 2.

            En effet, pas besoin de foutre en l'air la config par défaut pour que ce soit utilisable.

            Ça fait plusieurs années que j'utilise bépo et vim avec la configuration par défaut (au sens, pour hjkl, le reste c'est du mnémotechnique donc la disposition clavier importe peu). En fait, on s'y fait très vite en bépo aussi, ce n'est pas grave que pour 4 raccourcis il n'y ait pas de logique, c'est toujours moins à apprendre qu'une disposition comme le bépo en entier, où il faut mémoriser la place (sans mnémotechnique, à part des trucs comme le fait que les parenthèses sont à côté) de plusieurs dizaines de touches. Et si ça reste gênant, faut se dire qu'utiliser d'autres moyens de se déplacer plus efficaces, comme e, b, f, t, }, ) etc., c'est de toutes façons le truc à faire, ou encore mieux, utiliser l'excellent vim-sneak ou bien easymotion ; pour les fans d'emacs, vu que c'est le sujet du journal, il y a des équivalents comme avy :)

          • [^] # Re: Emacs sucks

            Posté par  . Évalué à 1.

            Hello foobarbuzz,

            puis-je te poser une question? Je suis un grand utilisateur d'emacs et c'est justement ce qui me freine pour passer au bépo. Comment fais-tu? Est-ce que par exemple pour faire "C-x C-f" pour ouvrir un fichier, tu fais donc, sur un clavier azerty, "C-c C-!" ? Ou alors, en cas de pression de la touche Control, les raccourcis clavier sont gardés comme sur un azerty?

            merci!

            • [^] # Re: Emacs sucks

              Posté par  . Évalué à 2.

              Bonjour fabricias,

              Oui, tu peux :-p

              Est-ce que par exemple pour faire "C-x C-f" pour ouvrir un fichier, tu fais donc, sur un clavier azerty, "C-c C-!" ?

              Oui, c'est exactement ça. J'ai touché à rien, les clés étant "sémantique" plutôt que "positionnelles". Il y a que pour quelques rare clés que ça pose problème pour les caractères qui sont en accès directe en azerty et en alt-gr + quelquechose en bépo. Dans ce cas, s'il y a un méta à mettre, il faut utiliser la touche escape (J'ai pas trouvé comment faire autrement, alt + alt-gr fait pas ce qu'on espère).

              Maintenant, j'ai appris le bépo avant d'apprendre emacs. J'avais aucune mémoire musculaire des clé emacs en azerty. Dans ton cas, peut être que tu préférera, et aujourd'hui pour taper une clé emacs sur un clavier azerty, il faut que je le fasse dans ma tête comme si j'étais sur un clavier bépo, et que je vois à quelles touches ça correspond sur un azerty.

              • [^] # Re: Emacs sucks

                Posté par  . Évalué à 1.

                ok, merci de ta réponse, je vais retenter de me mettre au bépo. Par contre comme j'ai la mémoire musculaire des raccourcis emacs sur un azerty, je vais probablement remapper ceux-ci. Sur bepo.fr il y a des fichiers de config emacs tout prêt.

                • [^] # Re: Emacs sucks

                  Posté par  . Évalué à 1.

                  arf, je viens de voir que j'avais mal orthographié ton pseudo… D'où le fabricias. :) J'ai mis le temps…

              • [^] # Re: Emacs sucks

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

                Dans ce cas, s'il y a un méta à mettre, il faut utiliser la touche escape (J'ai pas trouvé comment faire autrement, alt + alt-gr fait pas ce qu'on espère).

                Pour cela il me semble qu'il faut se pencher sur la configuration de xmodmap pour comprendre ce qui se passe. Mes souvenirs sont très lointains mais il me semble que la touche Alt-Gr a un comportement différent de toutes les autres touches (à confirmer avec xev) et qu'elle est plus proche d'une touche d'accent que d'une touche de modification comme SHIFT ou CONTROL.

                En ce qui me concerne je préfère utiliser un clavier américain et entrer les caractères exotiques soit en utilisant la TeX-input-method ou bien en saisissant leur nom Unicode via C-x 8 RET.

          • [^] # Re: Emacs sucks

            Posté par  . Évalué à 1.

            Je suis vimiste depuis en gros 6 ans, et je suis passé au bépo il y a 4-5 ans. Au début j'avais remappé hjkl, et les trucs associés (h, j, et consorts). Puis le temps est passé, maintenant je suis sur les mapping de base. En fait à part jk, on ne se sert pas tant que ça des touches directionnelles.

            bépo powered

Suivre le flux des commentaires

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