Tu es génial Fish, mais je retourne sur ZSH !

- Unix

J’étais un utilisateur heureux avec zsh mais j’ai voulu tenté l’expérience fish et j’ai décidé de tester passer le pas et de le tester en condition réelle en l’utilisant comme shell par défaut. Après quelques semaines d’utilisation, je viens de faire marche arrière et je retourne à mon shell zsh. Je suis un peu deçu de l’expérience mais je garde la configuration que j’ai faite dans mes dotfiles.

Voici une petite liste des difficultés qui m’ont poussées à revenir en arrière.

Petites différences avec les autres shells

fish ne fait pas tout comme les autres shells et c’est relativement problématique puisque j’ai du mal à me détâcher des habitudes. Voici deux exemples qui m’ont fait pester :

Je pourrais aussi parler de la manière dont le $PATH est géré mais je pense que cela suffit, j’ai du mal à me faire au changement pour ce genre de choses. Mais j’apprécie que tu ajoutes petit à petit des commandes afin de te comporter comme les autres shells.

Le vi-mode en ligne de commande

La dernière version de fish, la 2.2.0 annonçait dans son changelog la disponibilité d’un fish_vi_mode qui permet d’avoir les commandes vi dans sa ligne de commande.

C’est simple j’ai été très déçu par cette fonctionnalité, trop peu de commandes et de mouvements disponibles, au final je me retrouvais à utiliser les raccourcis ^-a et ^-e pour aller en début de ligne…

Peu d’outils supportent fish

Ce n’est pas vraiment un gros problème en soit, puisque l’on peut ouvrir un autre shell à partir facilement, mais la majorité des scripts shell que je rencontre sont faits uniquement pour bash ou zsh.

J’ai eu du mal à trouver une alternative à un outil que j’utilisais quotidiennement sur zsh par exemple z, un outil qui permet de simplifier la navigation dans l’arborescence, en fait c’est simple je n’en ai pas trouvé.

J’ai essayé autojump, mais je n’ai pas réussi à le faire fonctionner et c’est à peu près la seule alternative qui existe.

Conclusion

Honnetement, je suis mi-figue, mi-raisin avec fish shell, il y a pleins de fonctionnalités que je trouve géniales : les auto-suggestions, les man-pages completions, la gestion des couleurs,…

Mais d’un autre côté, j’ai trop de mal à me faire aux changements liés à fish. Cependant j’ai espoir de le tester à nouveau un jour. En effet les développeurs de fish ajoutent régulièrement des fonctionnalités afin d’avoir le mêmes comportement que les autres shells.

Du coup j’aurai tendance à recommander fish par rapport à zsh puisque fish fonctionne directement “out of the box”, mais il faut être prêt à changer ses habitudes ce que je ne suis visiblement pas capable de faire au moment ou je rédige ce billet… Mais je te garde sous le coude fish on ne sait jamais…