Worttrennzeichen in bash ändern

8

Ich möchte die Trennzeichen ändern, die bash (oder readline) benutzt, um Wörter zu trennen. Speziell möchte ich '-' nicht Wörter abgrenzen, so dass wenn ich den Text

habe %Vor%

und ich drücke Alt-Backspace es löscht den gesamten some-file Text und nicht nur bis zum '-' char. Dies führt auch dazu, dass lange Flags wie --group-directories-first schneller und einfacher gelöscht werden und nur ein Tastendruck erforderlich ist.

Ich glaube, dass sich zsh so verhält und ich möchte, dass bash sich genauso verhält.

    
spatz 31.08.2009, 12:17
quelle

3 Antworten

7

ctrl-w macht genau das, was Sie wollen.

    
William Pursell 31.08.2009, 12:36
quelle
3

Beachten Sie, dass die Bash-Key-Zuordnung für Strg-W nicht funktionieren wird, wenn Sie die Strg-W-Einstellung für den Sty-Wert zugewiesen haben. Wenn Sie "stty -a" ausführen und Sie "werase = ^ W" sehen, wird das Vorrang haben und die tty-Idee, was eine Wortgrenze ist, verwenden. Die Idee des tty für eine Wortgrenze ist normalerweise whitespace, während bashs rückwärts-kill-word-Funktion auch - und /.

enthält

Wenn Sie möchten, dass Alt-Backspace dasselbe tut wie die Einstellung "abtragen", können Sie Folgendes tun:   Binde '"\ M- \ C-h": Unix-Wort-Rubout'   bind '"\ M- \ C-?": unix-word-rubout'

Auch, wenn Sie eigentlich ctrl-W machen wollten, was Alt-Backspace macht, würden Sie tun:   sty werase undef # Wenn Sie dies nicht tun, ignoriert bash den Befehl follow bind   bind '"\ C-w": rückwärts-kill-word'

    
Eric 01.10.2009 18:55
quelle
1

Das könnte nützlich sein: Strg-r startet eine umgekehrte i-Suche (für Geschichte und die aktuelle Zeile), also kannst du einfach auf Leerzeichen und Escape drücken und es ist wieder da, wo du es haben willst, oder Strg-r wieder ( nachdem du das erste Feld getroffen hast) wenn du noch einmal zurück gehen willst. Dann können Sie optional den Rest der Zeile beenden.

Besonders nützlich, wenn Sie mit langen Pfadargumenten arbeiten (z. B. in cp oder diff) und das Ende des ersten Arguments ändern müssen.

Ich habe versucht, \ M-b dazu zu bringen, aber es stoppt bei Schrägstrichen.

    
webXL 07.02.2010 01:21
quelle

Tags und Links