3 votes

Comment faire en sorte que le shell fish supprime les mots comme le fait bash

Je donne une deuxième chance au shell fish. Une chose qui m'agace vraiment, c'est le "nouveau" comportement du raccourci Ctrl+w.

Considérez la situation suivante:

$ vim ~/.config/fish/config.fish

...avec le curseur à la fin de la ligne.

Quand vous appuyez sur Ctrl+w, il se passe ceci:

  • dans bash: ~/.config/fish/config.fish est supprimé
  • dans fish: seulement config.fish est supprimé

Comment faire en sorte que fish supprime les mots qui sont séparés par des espaces uniquement?

8voto

faho Points 4540

"\cw" (dans la notation du poisson) est lié à "backward-kill-path-component" (que bind \cw vous indiquera).

Si vous le souhaitez, vous pouvez le lier à autre chose, y compris des fonctions d'entrée comme "backward-kill-word" ou tout script fish - bind \cw backward-kill-word ou bind \cw "commandline -rt ''" (qui supprimera le jeton actuel complet) ou bind \cw backward-kill-bigword. Voir la documentation sur les liens ou bind --help pour plus d'informations.

La différence entre "word" et "bigword" ici est que "word" ira uniquement au prochain caractère non-mot, qui peut être un "." ou "/" ou "-", entre autres, tandis que "bigword" ira vraiment au prochain caractère d'espace blanc.

Notez que les fonctions "bigword" n'ont été introduites que dans fish 2.3.0.

Vous pouvez essayer ces incantations dans un shell interactif. Si vous décidez de les rendre permanentes, vous devrez les ajouter à une fonction appelée fish_user_key_bindings.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X