Verwenden Sie Strg oder Alt UND die Rücktaste, um das letzte Wort in Bash zu löschen

17

Unter Linux bin ich es gewohnt, Ctrl- zu drücken Backspace, um das letzte Wort zu löschen, aber ich weiß nicht, wie ich es im Bash-Terminal machen soll.

In OS XI verwenden Sie Alt- Backspaceum dasselbe zu tun.

Gibt es eine Möglichkeit, Bash die Ctrl- oder Alt- BackspaceTastenkombination zum Löschen des letzten Wortes erkennen zu lassen?

Unter Linux verwende ich terminatorals Terminalemulator, unter OSX verwende ich iTerm2.

licorna
quelle
1
Alt-⌫ aka Alt- ← aka Alt-Backspace funktioniert einwandfrei für mich. Ich benutze Terminator 0.93.
Teddy

Antworten:

31

Sie können immer Ctrl- verwenden W. Es löscht das Wort vor dem Cursor und funktioniert in jeder Bash.

Hier finden Sie eine Liste der Bash-Tastaturkürzel .

slhck
quelle
1
Wow kann dies geändert hat , wie ich das Terminal für immer verwenden. Vielen Dank!
David
3
Dies beantwortet nicht die Frage
Sel
5

Sie müssen nur Option als Metaschlüssel in den Einstellungen von iTerm festlegen ( Profile »Schlüssel ).

backward-kill-wordist Meta-Ruboutstandardmäßig an (dh Opt-Backspace) gebunden .

Die gleiche Option gibt es in Apples Terminal.app (wenn auch weniger flexibel).

Daniel Beck
quelle
2
Eigentlich müssen Sie die Einstellung "+ Esc" verwenden. Wenn Sie nur "Verhalten als: Meta" festlegen, ?wird das Wort nicht gelöscht, sondern gedruckt.
Slhck
@slhck Nicht für mich. Aber da die Entwickler es trotzdem empfehlen, kann es nicht eine schlechte Sache sein.
Daniel Beck
2

In terminator können Sie das folgende " Plugin " zusammen mit verwenden

[keybindings]
    kill_word = <Control>BackSpace

in deiner Konfigurationsdatei. Dies wird Karte Ctrl- Backspaceauf ESCDEL, eine andere shorcut letzte Wort zu löschen.

OlivierBlanvillain
quelle
Leider hielt diese in Terminator 1.9 arbeiten. Könnten Sie vielleicht Abhilfe schaffen?
Sel
1
Sorry, stoppte vor Terminator lange Zeit mit ...
OlivierBlanvillain
2

Sie können eine Datei .inputrcin Ihrem Home-Verzeichnis erstellen und diesen Inhalt hinzufügen:

"\C-h": backward-kill-word
Sel
quelle
1
Beachten Sie, dass dies und C-wdie akzeptierte Antwort sich durch das unterscheiden, was als "Wort" bezeichnet wird. C-wlöscht von der Cursorposition, bis es auf Nicht-Leerzeichen und dann auf ein Leerzeichen stößt (dh "this is a/se=weird |test"wo |Markierungen die Cursorposition ergeben "this is test"). Im Gegensatz dazu die C-hhier binden (die gebunden werden kann , unter Verwendung von bind '"\C-h": backward-kill-word"in a .bashrc) ergeben würde "this is a/se= test", da es im Grunde Worte auf , was eine bash Variable würde begrenzt, nicht nur Räume.
Jeremy Profil
0

Sie können einfach Alt- DELanstelle des normalen Strg- verwenden DEL.

Luca Steeb
quelle