Salut nal',
Je propose de partager quelques outils en ligne de commande que j'ai découverts récemment, que je trouve particulièrement sympas et qui me semblent peu connus.
wezterm
Commençons par le terminal. Je suis depuis longtemps un utilisateur d'urxvt
, mais à la fin de l'année dernière, j'ai voulu changer d'émulateur de terminal. J'avais entendu parler de kitty
et d'alacritty
, mais je voulais voir comment ça se passe ailleurs et je suis tombé sur wezterm
. C'est un terminal qui se configure en lua et qui a la plupart des fonctionnalités des émulateurs récents (accélération graphique, possibilité d'afficher des images dans le terminal,…). Je le trouve plutôt cool, même s'il demande de la configuration pour être utilisable. Je n'ai pas utilisé sa gestion de session SSH que certains trouvent géniale. Mais j'ai eu l'occasion d'interagir avec le développeur principal qui est très sympa.
Site | https://wezfurlong.org/wezterm |
Code | https://github.com/wez/wezterm |
Licence | MIT |
Démarrage | 2017 |
Développement | un seul développeur qui accepte pas mal de contributions |
Langage | rust |
ugrep
J’ai peut être raté une étape, mais pour moi la guerre des greps a commencé avec silversearcher
alias ag. Le game a de mon point de vu rapidement était plié avec ripgrep
qui est extrêmement rapide et qui a des comportements originaux qui si on accepte qu’ils sont différent du grep standard sont assez pratiques. Je suis tombé sur ugrep
, une alternative très très cool. Déjà c’est un drop-in replacement à grep, il a les performances qui le classe dans le même groupe que rg
, mais il a aussi beaucoup beaucoup de fonctionnalités. Par exemple il peut faire des recherches par fuzzing ou faire des opérations booléennes (par exemple FOO OR BAR qui peut se coupler avec des types de recherche). Petite chose sympathique, il est possible de sauvegarder sa configuration dans un fichier .ugrep
. Pour les contributeurs c’est fait en C++.
Site | https://ugrep.com/ |
Code | https://github.com/Genivia/ugrep |
Licence | BSD 3 clauses |
Démarrage | 2019 |
Développement | un seul développeur qui accepte pas mal de contributions |
Langage | C++ |
viddy
J’utilise watch
pour certaines tâche d’administration système. Par exemple quand je dois manipuler un cluster (kubernetes, cassandra ou autre) j’aime bien avoir un terminal qui tourne en me donnant le résultat de la commande du status du cluster. Quand on attend le changement d’état d’un nœud c’est assez pratique. viddy
fait ça avec quelques raffinements en plus. Les 2 qui m’intéressent le plus c’est celui qui met en surbrillance les changements et celui qui permet de parcourir les précédents résultats.
Code | https://github.com/sachaos/viddy |
Licence | MIT |
Démarrage | 2021 |
Développement | le développement a l’air au ralenti, les issues (dont la plupart demandent plutôt des nouvelles fonctionnalités) ne trouvent pas de réponses |
Langage | Go |
hyperfine
La commande time
est très utile, mais des fois la vitesse d’une commande peut être assez variable. hyperfine résous ça en lançant plusieurs fois la commande et en donnant des statistiques. C’est assez pratique et ça permet d’avoir le résultat quand les caches sont déjà chaud.
Code | https://github.com/sharkdp/hyperfine |
Licence | double Apache 2 & MIT |
Démarrage | 2018 |
Développement | un seul développeur |
Langage | rust |
lsd
Je n’utilise pas de gestionnaire de fichier. À la place j’utilise mon shell, mais ça ne veut pas dire que je suis un moine qui veut tout voir en vert sur noir ! J’aime bien avoir des couleurs et que tout soit bien présenté. Après la mort de exa
et un court passage sur eza
, j’ai découverts lsd
. Il a plus de fonctionnalité (il me semble) et peut être configuré (et j’aime bien configurer mes outils).
Code | https://github.com/lsd-rs/lsd |
Licence | Apache 2 |
Démarrage | 2018 |
Développement | un seul développeur |
Langage | rust |
zsh-vi-mode
J’ai récemment voulu réessayer les mode vi de zsh. Juste changer le binding n’est pas très confortable ne cerais-ce parce qu’on ne sait pas dans quel mod vi on se trouve. En chrechant des idées de configuration sympa je suis tombé sur un projet qui le réimplémente en corrigeant au passage un certains nombre de “petites” choses qui peuvent être inconfortable aux plus habitués de vi. Je trouve que ça fonctionne vraiment bien.
Code | https://github.com/jeffreytse/zsh-vi-mode |
Licence | MIT |
Démarrage | 2020 |
Développement | un seul développeur |
Langage | zsh |
# LSD
Posté par Zorro (site web personnel) . Évalué à 5.
ça a l'air génial, LSD ! Les icônes en fontes, j'adore.
[^] # Re: LSD
Posté par C2RIK . Évalué à 2.
J'ai testé lsd et c'est vraiment super pratique! Merci pour ce journal!
# vidir - Renommage/suppression rapide de fichiers au travers d’un éditeur de texte
Posté par AP . Évalué à 7.
Je me permets de contribuer à ce bel inventaire avec vidir, dont je ne me lasse pas. En gros ça envoie la liste des fichiers du dossier courant ou une liste précise de fichiers dans votre éditeur de fichiers favori. De là, vous pouvez les supprimer (en virant la ligne correspondante) ou les renommer (en corrigeant la ligne correspondante)… et ce possiblement très vite et en masse, selon votre maîtrise de votre éditeur de texte. Sauvegardez le fichier (temporaire) et les modifications correspondantes seront appliquées.
[^] # Re: vidir - Renommage/suppression rapide de fichiers au travers d’un éditeur de texte
Posté par barmic 🦦 . Évalué à 3. Dernière modification le 03 juin 2024 à 08:57.
Ah c'est intéressant faudra que j'essaie. Pour les manipulations en masses j'utilise surtout zmv et zargs.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: vidir - Renommage/suppression rapide de fichiers au travers d’un éditeur de texte
Posté par shbrol . Évalué à 1.
Merci pour vidir !
[^] # Re: vidir - Renommage/suppression rapide de fichiers au travers d’un éditeur de texte
Posté par madhatter (site web personnel) . Évalué à 3. Dernière modification le 03 juin 2024 à 10:09.
Ça rappelle ce qu'on peut faire avec Dired dans Emacs.
There is no spoon...
[^] # Re: vidir - Renommage/suppression rapide de fichiers au travers d’un éditeur de texte
Posté par jyes . Évalué à 4.
Pour ça, j’utilise les renameutils. Ça marche bien, c’est peut-être un petit peu moins avancé que
vidir
mais c‘est empaqueté dans Debian.[^] # Re: vidir - Renommage/suppression rapide de fichiers au travers d’un éditeur de texte
Posté par François Chaix (site web personnel) . Évalué à 2.
Y'a un plugin neovim qui fait ça aussi : dirbuf.nvim
La lumière pense voyager plus vite que quoi que ce soit d'autre, mais c'est faux. Peu importe à quelle vitesse voyage la lumière, l'obscurité arrive toujours la première, et elle l'attend.
# Bat
Posté par Lutin . Évalué à 5.
Un autre outil sympathique dans la même veine: bat. C'est un cat avec de la coloration syntaxique, et qui par défaut montre le résultat dans un pager.
[^] # Re: Bat
Posté par Benoît Sibaud (site web personnel) . Évalué à 3.
Qui n'a pas de rapport avec l'autre logiciel B.A.T. (visuels)
[^] # Re: Bat
Posté par Zorro (site web personnel) . Évalué à 1.
J'aime bien l'autocollant sur la couverture : en raison d'un problème de mémoire, cette version n'a ni bruitages ni simulateur de vol… Vive les jeux français !
[^] # Re: Bat
Posté par barmic 🦦 . Évalué à 2.
Bat demande moins de configuration, mais je suis bien avec lesspipe pour ça.
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# wezterm
Posté par madhatter (site web personnel) . Évalué à 3.
Merci pour le lien, je ne connaissais pas.
Il y a un paquet Debian ainsi qu'un dépôt, ça c'est cool. C'est pas si souvent que ce genre d'outils alternatifs se retrouvent packagés pour Debian.
Pour ceux qui se posent la question : il est Wayland natif.
J'ai fait une conf minimale rapidement ce matin (font, couleurs), il est plus rapide à se lancer que Kitty que j'utilisais jusqu'à présent.
Ça se joue à pas grand chose et on pourrait penser que ça frise l'enculage de mouches, mais après être passé à Emacsclient, la petite seconde pour le lancement de Kitty était devenue plus visible.
Là c'est instantané (~100ms), c'est plus confortable.
Je suis pas rentré dans le détail pour le moment, mais dès que j'aurai un moment j'éplucherai la doc.
There is no spoon...
[^] # Re: wezterm
Posté par barmic 🦦 . Évalué à 2.
Dans les terminaux actuels, il est difficile de se faire une place, mais j'ai l'impression qu'il monte doucement. Il est pas révolutionnaire, il n'a pas de killer feature, mais il fait bien tout ce qu'il fait j'ai l'impression.
J'ai juste trouvé dommage qu'il ne semble pas avoir de gestion out of the box du clipboard et du coup j'ai un truc comme ça :
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
# D'autres, prinpalement en rust
Posté par Skilgannon . Évalué à 1. Dernière modification le 04 juin 2024 à 22:33.
Voir les sources de cet articles: https://connect.ed-diamond.com/linux-pratique/lp-141/l-essor-de-nouveaux-outils-en-ligne-de-commandes-ecrits-en-rust
Ou via ce repo Github: https://github.com/sts10/rust-command-line-utilities
Note: Si vous en avez d'autres outils codés avec d'autres langages, il sont les biens venus.
[^] # Re: D'autres, prinpalement en rust
Posté par barmic 🦦 . Évalué à 2.
Pour mieux expliquer ma démarche, ce qui m'a paru intéressant c'est de faire de la curation parler d'outils que j'utilise et qui me paraissent particulièrement intéressants. Une liste limitée d'outils que je trouve particulièrement intéressants et peu connus.
Tu peut en trouver des profusions dans ton moteur de recherche, github ou gitlab : tu tape "awesome" + un mot clef que tu recherche (un langage ou un domaine) et tu tombe sur des tétrachiées d'outils.
Ton premier lien est derrière un paywall.
Les 2 approches sont pertinentes mais ne s’adressent pas tout à fais au même publique. Celle de la profusion permet à ceux qui veulent tester, découvrir et sont prêt à passer du temps alors que l'autre est plus pour les gens "pressés".
https://linuxfr.org/users/barmic/journaux/y-en-a-marre-de-ce-gros-troll
[^] # Re: D'autres, prinpalement en rust
Posté par Skilgannon . Évalué à 2. Dernière modification le 07 juin 2024 à 00:01.
C'est exacte mais j'ai bien prisée: dans les sources de l’article !
Cependant je suis d'accord que l'on avait pas la même démarche et que cela peut être déroutant quand il y a quand il y a trop d'outils à tester ( ou trop de description à lire).
Voici ceux que j'utilise.
alacritty - emulateur de terminal en combo avec zellij - multiplexeur de terminal.
Alacritty "juste fonctionne", il ne sert que à ca, pas d'autre fonctionnalitées et c'est très biens comme ca.
Zellij se raproche plus ou moins de tmux mais avec les racourcis clavier visible.
Bat sorte de cas mais avec coloration syntaxique. On en parle plus haut.
Pour avoir, le même comportement que cat par defaut, on peut utiliser son fichier de configuration ou l'alias suivant
cat='bat -pp'
delta - diff avec un affichage plus "moderne", peut aussi s’interfacer avec git (diff,merge,blam,…)
fd alternative à find, beaucoup plus rapide.
Et dans le cas où ces outils, qui sont tous écris en Rust, ne sont pas intégrés en tant que paquet pour votre distribution préférée, je vous invite à utiliser cargo-binstall et cargo-update. Ces outils vont vous permettre d'installer et de mettre à jours facilement les outils Rust qui vous intéresse.
Par exemple après avoir installé cargo-binstall comme indiqué dans sa documentation, pour installer cargo-update:
cargo binstall cargo-update
etcargo install-update -a
pour mettre à jours les outils. Les noms de ces outils sont à valider sur https://crates.io/.(Tiré du Linux Pratique cité dans mon premier message. )
ZK - A plain text note-taking assistant, ce coups ci, c'est du Go. Un outil en lignes de commandes pour gérer vos notes (votre second cerveau) sous forme de fichier markdown. Je l'utilise en parallèle d'Obsidian pour la version graphique.
[^] # Re: D'autres, prinpalement en rust
Posté par Skilgannon . Évalué à 2. Dernière modification le 07 juin 2024 à 00:19.
J'ai oublié (toujours en Rust):
cd | history
assez pratique. Après avoir installé l'outil, tout chemins des dossiers auquel vous accederez viaz <chemon de votre dossier>
seront stockées dans une base de données et classé selon leur fréquence d'accès. De cette manière, si vous accéder souvant à~/dossier1/dossier11/dossier111
, vous pourrez accéder depuis n'importe quel dossier courant à dossier111 avecz dossier111
.Personnellement, j'ai créé l'alias suivant
cd="z"
.[^] # Re: D'autres, prinpalement en rust
Posté par steph1978 . Évalué à 2.
Ce que tu décris ressemble plutôt à zoxide : "A smarter cd command".
Atuin c'est pour améliorer la gestion de l'historique shell : stockage, recherche, synchro. Pour cela moi j'utilise (une version modifiée de) hishtory.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.