Je veux changer les délimiteurs Bash (ou Readline) utilise des mots séparés. Spécifiquement, je veux faire et i appuyez sur Je crois que c'est comme ça que zsh se comporte et J'aimerais faire du comportement de Bash de la même manière. P> p> '-' code> ne délimiter pas les mots, de sorte que si j'ai le texte
alt-backspace code> Il supprime l'ensemble du texte code> un fichier code> et non seulement jusqu'au
'-' code> Char. Cela entraînera également des suppressions de drapeaux longs tels que
- des répertoires de groupe - premier indicatif> plus rapide et plus facile, n'ayant besoin que d'une seule touche. P>
3 Réponses :
Ctrl-w fait exactement ce que vous voulez. p>
J'ai lu cette partie du manuel un zillion fois, je ne peux pas croire que je l'ai manqué. Merci :)
Je vais simplement noter que, après avoir expérimenté cela un peu, il n'est toujours pas optimal car les barres obliques sont ignorées en tant que séparateurs, ce qui est agaçant lorsque vous travaillez avec des chemins. J'ai ajouté la ligne "\ ew": unix-filename-rubout code> à
/ etc / istrc code> et maintenant m-e supprime un mot tout en ignorant des traits d'union, mais traite des sfstors.
Une chose à garder à l'esprit est que la cartographie des touches BASH pour CTRL-W ne fonctionnera pas si vous avez le réglage de STY WERASE attribué à CTRL-W. Si vous exécutez «Stty -a» et que vous voyez «Werase = ^ W» qui aura la priorité et utilisera l'idée de l'AT de ce qu'est une limite de mot. L'idée de l'AT TTY d'une limite de mot est généralement espagnole, alors que la fonction Bash Back-Word-Word comprend également - et / / p>
Si vous souhaitez rendre Alt-Backspace faire la même chose que le paramètre Werase, vous pouvez le faire: Bind '"\ m- \ c-h": Unix-Word-Rubout' Bind '"\ m- \ c-?": Unix-Word-Rubout' P>
En outre, si vous vouliez réellement faire CTRL-W faire ce qu'est l'espace alt-back, vous feriez: STY STY WERASE UNDEF # Sauf si vous faites cela, Bash ignore la commande Suivre Linge Bind '"\ c-w": mot-kill-mot' p>
Non liée à l'OP, mais STTY WERASE UNDEF CODE> Totalement corrigé mon problème! Merci!
Cela pourrait être utile: CTRL-R initiera une recherche inverse-i-recherchée (pour l'historique et la ligne actuelle), de sorte que vous pouvez simplement frapper l'espace et vous échapper, et c'est de nouveau là où vous le souhaitez, ou Ctrl-R à nouveau ( Après avoir frappé le premier espace) Si vous voulez revenir en arrière, une autre argine. Ensuite, vous pouvez éventuellement tuer le reste de la ligne. p>
particulièrement utile si vous traitez avec de longues arguments de chemin d'accès (par exemple dans CP ou DIFF) et devez modifier la fin de la première Arg. P>
essayé d'obtenir \ M-B pour le faire, mais cela s'arrête sur SLASHES. P>
Le caractère '-' a une signification particulière dans une ligne de commande, le comportement par défaut n'est donc pas surprenant. Si vous pouvez le changer, il y aura-t-il des effets secondaires? Supposons que vous ayez été dactylographié «LS -AL ONE-FATY», voudriez-vous tout supprimer?
@Pavium Dans ce cas, je voudrais
certains-fichier code> à supprimer au début, et lorsque vous appuyez sur une seconde fois, je voudrais
-al code> pour être supprimé.
Je viens de trouver La réponse sur superuser.com.
Voir aussi Unix.stackexchange.com/ Questions / 78990 / ...