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?


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 + ←      


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/


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.


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_
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.