đŸ’Ÿ Archived View for lord.re â€ș posts â€ș 72-amp-text-editor â€ș index.gmi captured on 2024-08-25 at 02:18:42. Gemini links have been rewritten to link to archived content

View Raw

More Information

âŹ…ïž Previous capture (2024-08-18)

-=-=-=-=-=-=-

Amp : un ptit Ă©diteur de texte Ă  la vi

-------------------------------------------------

[07/02/2018] - ~6mins - #cli #linux #software

-------------------------------------------------

J'utilise vi et ses dérivés depuis si longtemps que j'ai désormais une petite partie de ses commandes inscrits dans la mémoire musculaire.

C'est toujours amusant de voir des étudiants qui galÚrent et hallucinent devant ma relative agilité alors que je n'ai pourtant qu'un niveau relativement faible en vimerie.

Bref ces derniers temps j'ai entendu parlé d'un nouvel éditeur de texte. **Amp**.

La fiche technique me parle pas mal : léger, taillé pour la console, inspiré par vi, une configuration par défaut moderne et bonus de la hype : c'est en rust.

Du coup ni une ni deux je git clone et je compile.

{{}}

AustĂšre comme j'aime :-)

Bon et sinon ? Il va falloir lire un peu la doc parceque lĂ  c'est inspirĂ© de vi mais les commandes ne sont pas pour autant du copiĂ©/collĂ© de vi. La migration (si elle se fait) va ĂȘtre un peu douloureuse.

Commandes en vrac pour se débrouiller un minimum

- Ouvrir un fichier : ***espace*** puis c'est du fuzzy search Ă  partir du dossier courant.

- Fermer le fichier actuel ***q***

- Sauvegarder ***s***

- Passer en mode *insert* ***i***

- Bouger dans le fichier *jump mode* ***j***

- Chercher *search mode* ***/***

Bon je pense que c'est un peu le minimum Ă  savoir dans un tout premier temps.

Bon et ça ressemble à quoi en vrai ?

Et bien à ça :

{{}}

Bon alors dĂ©jĂ  ça ressemble plus Ă  ce qu'on est habituĂ© Ă  voir. Des *lignes numĂ©rotĂ©s*, de la *coloration syntaxique* (hmmm on en reparle un peu plus loin), une *barre de status* en bas indiquant le mode, le fichier en cours et parfois mĂȘme d'autres infos.

Pas de quoi casser trois pattes Ă  un canard.

RĂ©apprendre

Bon je l'utilise un peu plus pour voir un peu comment il s'utilise.

Je me heurte assez fortement Ă  mes habitudes vimmiennes.

Il me faut tenter de ne pas penser Ă  vi mais Ă  cette nouvelle philosophie.

Un peu plus de lecture de doc et du coup je me rend compte qu'il faut un peu plus utiliser des *modes*.

Et surtout il faut regarder un peu les raccourcis par défaut.

Command mode

Et là je découvre le *command mode* (que l'on atteint via ***0***).

Du fuzzy search (oui oui encore !) pour trouver un peu toutes les commandes existantes.

Toutes les commandes possibles y sont répertoriées et donc vous pouvez les débusquer assez simplement.

Jump mode

PlutÎt que d'ajouter de nombreux mots-clé pour se déplacer, ils utilisent une sorte de *hint mode* qu'on retrouve dans qutebrowser.

C'est Ă  dire que lorsque vous ĂȘtes dans ce mode, amp va placer un peu partout des lettres jaunes dans votre texte.

Vous entrez les deux lettres placĂ©es Ă  l'endroit oĂč vous voulez placer le curseur et hop le tour est jouĂ©.

Une image ?

{{}}

{{}}

Comme vous pouvez le constater il y a les lettres en jaune qui sont rajoutées un peu partout.

Du coup il vous suffit de tapper celle qui vous intéresse et hop votre curseur s'y téléporte.

Trouver tous les raccourcis

Dans le *command mode* entrez *application::display_available_commands*, ce qui vous listera toutes les commandes et *application::display_default_keymap* pour afficher tous les raccourcis.

Ça devient vite indispensable lorsqu'on dĂ©bute avec amp.

Bon donc au bout d'une semaine voilĂ  un peu mon ressenti.

Ce qui me plaĂźt

Bon c'est pas non plus extraordinaire qu'un ordi de 2018 ne rame pas pour éditer du texte mais c'est toujours agréable.

Amp s'ouvre direct, les changements de modes sont instantannés, la recherche de fichier est sacrément réactive.

Bref c'est snappy !

J'adore *vi* mais franchement la config par dĂ©faut est un peu lĂ©gĂšre tout de mĂȘme.

C'est quand mĂȘme Ă  la limite de l'utilisabilitĂ© par dĂ©faut.

Et franchement c'est un peu dommage pour un logiciel qui a le gigantesque avantage d'ĂȘtre dispo sur tous les os que j'accepte de toucher.

Là on se retrouve avec de la coloration de base, l'indication des modes clairement affiché, une barre de status utilisable.

La base minimale est utilisable directement.

Je dois avouer que je sais mĂȘme pas s'il y a un fichier de configuration.

J'ai pas eu besoin d'aller le regarder pour faire mumuse pour le moment.

C'est *un projet en début de dev* avec du coup beaucoup d'activité sur le repo.

De nouvelles features arrivent.

Les bugs se font chasser assez vite (et il y a du boulot).

C'est assez sympa cette sensation de voir le logiciel s'améliorer chaque jour et de voir ces ptites améliorations continuelles arriver.

Et du coup c'est mĂȘme assez facile de contribuer au logiciel. Sa documentation est pour l'instant
 assez spartiate.

J'ai d'ailleurs contribué un peu à son amélioration et je continuerai probablement un peu.

De l'*audace dans la réinterprétation de vi*.

C'est déroutant au début et au final on trouve de sacrément bonnes idées.

Le *jump mode* est gĂ©nial, c'est dans la mĂȘme philosophie que QuteBrowser du coup je suis pas perdu.

Le *command mode* est génial.

Alors je vais avoir l'air de dĂ©barquer mais ce mode est gĂ©nial et fait cruellement dĂ©faut Ă  vi (je sens qu'on va me dire qu'en fait ça existe
).

Il paraßt que cette fonctionnalité est de base dans emacs mais je n'ai jamais vraiment poussé emacs.

Je veux cette fonctionnalité partout maintenant !

Ce qui me plaĂźt moins

C'est *un projet en début de dev*.

Et du coup il y a des bugs.

La doc est trÚs légÚre.

C'est un atout mais c'est un peu rebutant pour certains.

J'arrive tout de mĂȘme Ă  m'en accomoder.

C'est *pas un clone de vi*.

C'est Ă©galement un atout mais un poil problĂšmatique quand on doit surpasser sa mĂ©moire musculaire et que l'on rĂ©flĂȘchit Ă  "comment effectuer telle action ?".

Le truc qui m'irrite le plus sont le ***G*** et ***gg*** de vi qui ne fonctionnent pas. Je le fait tellement instinctivement que devoir faire autrement me déroute quelques secondes. (***J*** et ***K*** si vous les cherchez)

Les quelques bugs que j'ai rencontrés

Bon rien de vraiment insurmontables, certains sont déjà corrigés (ou presques) d'autres sont déjà rapportés.

Pas de gros bugs qui crashent (tout du moins j'en ai pas rencontré) mais par exemple, vous ne pouvez sauvegarder votre fichier que s'il y a une ligne vide à la fin.

Ou bien si vous le lancez Ă  la racine d'un dossier contenant beaucoup de fichier, il va tenter de tous les scanner pour faire le fuzzy search par la suite.

Il va donc se bloquer pendant quelques secondes (voir minutes).

Un truc plus Ă©trange c'est lorsque le curseur atteind le bas de la fenĂȘtre, la fenĂȘtre ne dĂ©file pas et du coup vous n'avez plus qu'Ă  tapper Ă  l'aveuglette.

Il vous faut donc scroller manuellement avec ***,*** et ***m***.

Une habitude Ă  prendre.

Le bug le plus chiant au final c'est la coloration syntaxique comme vous pouvez le voir sur les différents screenshots.

Elle est complÚtement foireuse pour le markdown, à l'agonie pour le xml, le html par contre est presque bien geré.

En gros les caractÚres spéciaux (d'échappement souvent) la mette à la peine.

N'Ă©tant pas codeur ça ne m'impacte pas trop mais j'imagine que pour quelqu'un vraiment habituĂ© ça peut ĂȘtre complĂštement paralysant.

-----

TL;DR

À surveiller de prùs.

Je pense continuer Ă  m'en servir pour bloguer et autre.

Vi gardera toujours l'avantage d'ĂȘtre disponible partout du moindre busybox Ă  la bonne grosse gentoo des familles
 Mais amp peut devenir une alternative sympatoche.

Liens

------------------------------------

🏠 Retour à la home

------------------------------------

[07/02/2018] - #cli #linux #software

------------------------------------

[>> Suivant >>] ⏭ MĂ©ta-actu du blog

[<< PrĂ©cĂ©dent <<] ⏼ RĂ©ponse Ă  Franck Ridel concernant DuckDuckGo