Gibt es eine Verknüpfung in Bash, um das letzte Segment eines Pfades zu löschen?

10

Ich bin mit einer Reihe von Bash-Tastenkombinationen ziemlich vertraut geworden, die mein Bashing beschleunigen: Ca / Ce, Cu, Cw, Mf / Mb, Cr usw. Eine häufige Aufgabe, für die ich jedoch keine gute Tastenkombination gefunden habe ist, wenn ich das letzte Segment eines Pfades löschen möchte:

Sag ich habe

ls ~/projects/arcaneweb/libraries

und mir ist klar, dass ich es tatsächlich so gemeint habe

ls ~/projects/arcaneweb/sources

Gibt es eine Möglichkeit, einfach zu löschen librariesund eine Menge Tastenanschläge zu sparen?

davidtbernal
quelle
1
Sie fragen nach Bash, daher poste ich dies als Kommentar anstelle einer Antwort: In zsh können Sie das erreichen, was Sie wollen, indem Sie die WORDCHARSenv-Variable festlegen: WORDCHARS=${WORDCHARS//[-\/]}(entfernt - und / oder ist nicht Teil eines "Wortes"). Ich finde das sehr nützlich und dachte, ich würde es teilen.
James O'Gorman
Normalerweise drücke ich nur M-Backspacewiederholt, bis der gewünschte Effekt erreicht ist.
jw013

Antworten:

21

Eine einzige Verknüpfung: M-backspace

Alt + ←      

olibre
quelle
1
Wow, das ist so offensichtlich! Ich glaube, ich habe immer angenommen, dass dies aus irgendeinem Grund dasselbe ist wie Cw.
Davidtbernal
1
In zsh müssen Sie möglicherweise bindkey "^[^?" vi-backward-kill-wordzu Ihrem hinzufügen .zshrc.
Juliano
6

Es gibt eine Ersetzungsoption, die jedoch nicht sicher ist, ob Tastenanschläge wirklich gespeichert werden, es sei denn, der Pfad war lang.

^ abc ^ xyz

Dies ersetzt das erste Auftreten von abc durch xyz.

[root~]# ls -l /var/log/messages
-rw-------  1 root root 850312 Dec 28 14:08 /var/log/messages
[root ~]# ^messages^secure
ls -l /var/log/secure
-rw-------  1 root root 652614 Dec 28 14:08 /var/log/secure

Bash Shortcut-Referenz: http://www.skorks.com/2009/09/bash-shortcuts-for-maximum-productivity/


quelle
1
Oh das ist großartig. Nicht besonders für diesen speziellen Anwendungsfall geeignet, wird aber definitiv an anderer Stelle nützlich sein.
5

Mb, Ck ist das schnellste, das ich gefunden habe, etwas weniger, weil ESC als Meta verwendet werden muss. Wenn Sie Alt / Option als Meta gebunden haben, ist dies relativ schnell, sobald Sie das Muskelgedächtnis dafür entwickelt haben.

Brent Bourgoine
quelle
Die Bindungsoption an Meta ist das erste, was ich beim Einrichten meines Terminals mache :). Mb, Ck ist ziemlich gut, ich denke, ich kann mich daran gewöhnen.
1
Es gibt auch Mb, Md, aber alle diese sind für die Emacs-Tastenkombinationen, es gibt auch Vi-Modus
Samus_