Bash a-t-il des fonctionnalités similaires telles que l'autosuggestion et la surbrillance de Fish?

37

J'ai récemment remarqué 2 fonctionnalités dans Fish et je me demandais si quelqu'un savait si elles étaient également disponibles dans Bash?

Mise en évidence de la syntaxe

SS n ° 1

Détails:

  • Vous remarquerez rapidement que fish met en évidence la syntaxe lors de la frappe. Les commandes non valides sont colorées en rouge par défaut:
  • Une commande peut ne pas être valide car elle n'existe pas ou fait référence à un fichier que vous ne pouvez pas exécuter. Lorsque la commande devient valide, elle est affichée dans une couleur différente.
  • fish soulignera les chemins de fichiers valides au fur et à mesure que vous les tapez
  • Cela vous indique qu'il existe un fichier commençant par "somefi", ce qui est un retour utile lors de la frappe.

Autosuggestions

SS n ° 2

Détails:

  • fish suggère des commandes lors de la frappe et affiche la suggestion à droite du curseur, en gris.
  • Il connaît les chemins et les options
  • Pour accepter la suggestion automatique, appuyez sur la flèche droite ou sur Contrôle-F. Si l'autosuggestion n'est pas ce que vous voulez, ignorez-le.
slm
la source
4
À propos de l'analogue le plus proche bashest l'auto-complétion. Malheureusement, fishles scripts sont si élémentaires qu’ils remplacent très mal le genre de choses que j’ai l'habitude de faire bash.
DopeGhoti
1
@DopeGhoti - d'où ma question Q 8-)
slm
2
Essayez-le sur un lien ssh à latence élevée, vous allez détester assez rapidement les fonctionnalités en ligne.
Llua
1
@slm La plupart d'entre eux sont des cas difficiles, certains plus méchants que d'autres, mais cela peut être très grave lorsque vous êtes déployé dans de nombreux environnements. Les « caractéristiques tueuses » pour 4.3 sont cd -@, wait -n, globasciirangeset $BASH_COMPAT, que beaucoup de gens voulaient. Presque tout le reste n'est que lutte contre les incendies.
Chris Down
1
@strugee, il existe un surligneur de syntaxe zsh - github.com/zsh-users/zsh-syntax-highlighting , je l'ai trouvé grâce au très cool oh-my-zsh.
Joe Block

Réponses:

2

Je ne suis pas sûr de la mise en surbrillance de Bash, mais la fonctionnalité de saisie automatique de Bash est susceptible de suggérer automatiquement ce que vous avez mentionné.

Même si la fonction de saisie automatique de Bash ne peut pas afficher les suggestions que vous souhaitez, elle remplit en réalité le contenu lorsque vous appuyez sur [TAB]. S'il y a beaucoup de choix pour compléter le contenu, vous appuyez deux fois sur [TAB] pour afficher toutes les options.

Par exemple:

$ cat /etc/pa[TAB]

=> rien ne se passe

$ cat /etc/pa[TAB][TAB]
pam.d/       passwd       paths        paths.d/

=> affiche tous les fichiers / répertoires commençant par "/ etc / pa"

Vous pouvez configurer la saisie automatique avec n’importe quelle commande, paramètres, fichiers / répertoires ... ou la jouer comme si vous utilisiez la programmation.
Plus d’informations sur: http://www.linuxjournal.com/content/more-using-bash-complete -commander

Si vous voulez sauter à une commande passée, appuyez sur ^ R puis tapez quelques caractères:

(reverse-i-search)`cd': cd ..

=> saute à la dernière commande commence par "cd"

Je sais que ce n'est pas exactement ce que vous voulez, mais que vous faites presque la même chose et vous aide suffisamment.

incous
la source
8
Merci d'avoir pris le temps de répondre à cette question et de proposer cette suggestion. Je connais bien cette fonctionnalité et l’utilise tous les jours. Je voulais utiliser cette fonctionnalité de manière dynamique sans avoir à appuyer sur la touche [TAB] [TAB] pour l’initier.
slm
2

Malheureusement pas. Mais je prédis que cette bash va ralentir massivement si vous essayez d'implémenter ces fonctionnalités. C'est peut-être pour cette raison que personne n'a encore "porté" ces fonctionnalités.

Le plus proche que j'ai trouvé était https://github.com/dvorka/hstr , une boîte à suggestions shell


à part bash:

Je ne l'ai pas testée, mais la seule "alternative portée" que j'ai trouvée a été écrite pour zsh: https://github.com/zsh-users/zsh-autosuggestions

Certains qwant'ing me conduisent également à https://websetnet.com/shell-packs-power-python-bash/ et https://github.com/xonsh/xonsh alias http://xon.sh , peut-être aussi soutient que hors de la boîte

... mais, je suis presque sûr que vous n'êtes pas intéressé par d'autres alternatives à bash, car alors vous pourriez simplement passer au poisson;)

childno͡.de
la source