Wie man das Verhalten der Befehle ändert, die links "Wörter" löschen

488
hepcat72

Ich habe vor kurzem versucht, von einem langjährigen Benutzer von tcsh auf bash umzusteigen, und ich beklagte mich darüber, dass zusätzliche Tasten gedrückt wurden, um "Wörter" auf der linken Seite zu löschen. Daher habe ich mich bemüht, das Verhalten in bash so zu ändern, dass es wie tcsh aussieht damit ich meine 18 Jahre Muskelgedächtnis nicht neu zuordnen muss. Was ich gerade versuche herauszufinden, ist:

So ändern Sie die "Wortgrenzen" bei der escape deleteEingabe. (Beachten Sie, ich meine 2 separate Tastendrücke.)

Wenn ich in tcsh ein Wort nach links löschen möchte, würde ich zwei Tastenanschläge wiederholen: Escape-Delete. Ich weiß, dass bash Control-w verwendet, um das Wort auf der linken Seite zu töten, und ich habe herausgefunden, wie man das machen kann, um Striche und Unterstriche als Wortgrenzen zu ignorieren (aber mein tcsh-Muskelgedächtnis verwendet Control-w, um alles, was vom Cursor noch übrig ist, zu löschen control-u). Sie können eine der folgenden Optionen ausführen:

bind '\C-w:unix-filename-rubout' 

oder

stty altwerase 

(obwohl ich noch nicht weiß, ob das irgendwelche unbeabsichtigten Nebenwirkungen hat - ich versuche immer noch, die Dinge herauszufinden). Diese erlauben jeweils das Löschen von Strichen und Unterstrichen, aber ich weiß nicht, wie sie sich sonst unterscheiden.

Ich war jedoch überrascht, dass die escape deleteSchlüsselsequenz in beiden Fällen immer noch bei Strichen und Unterstrichen stoppte. Ich habe verschiedene Bind-Befehle ausprobiert, um dies zu ändern, wie zum Beispiel:

set bind-tty-special-chars Off set bind-tty-special-chars On bind '\e\C-h:unix-filename-rubout' bind '\e\C-?:unix-filename-rubout' 

Aber keiner von ihnen ändert das Wortgrenzverhalten von escape delete.

Einige Anmerkungen: Ich weiß wirklich nicht, was escape deletein meinem Terminal gemacht wird - dh was es an Bash sendet. Wenn ja control-v escape, sehe ich ^[. Wenn ja control-v delete, sehe ich ^?. Ich verwende Terminal.app unter MacOS. Ich habe die Löschtaste so eingestellt, dass sie nicht control-h sendet, weil sie sich nicht so verhält, wie ich es in jedem Kontext erwartet habe. Ich habe auch keine Option als Metaschlüssel festgelegt, da ich vorsichtig war, um die Verwendung von Optionspfeil und Optionsklick für die Cursorbewegung nicht zu stören.

1

0 Antworten auf die Frage