Betrachten Sie die folgende Bash-Befehlszeile, wobei ^ die Cursorposition angibt:
svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
^
Ich möchte eine andere Datei mit derselben Nachricht festschreiben. Wie kann ich das aktuelle Wort von der Cursorposition bis zur nächsten Stelle löschen? Gibt es auch eine Abkürzung zum rückwärtigen Löschen, bilden Sie den Cursor auf die erste Stelle rückwärts?
Update: ctrl + wlöscht rückwärts, aber welche Verknüpfung löscht ein Wort vorwärts?
command-line
bash
shortcut-keys
Adam Matan
quelle
quelle
Ctrl u
ist eine Option zum Löschen von der Cursorposition zum Anfang ...alt + d
, das könnte nützlich sein, wenn der Emacs-Bearbeitungsmodus eingestellt ist.set -o emacs
es, aber es ist normalerweise die Standardeinstellung. Wenn nicht, können Sie diese Zeile in.bashrc
oder.bash_aliases
einfügen, die Datei als Quelle angeben oder das Terminal neu laden. Die Verknüpfungen, mit denen Sie möglicherweise im vi-Modus vertraut sind, sind dann jedoch nicht verfügbar, obwohl solche wie Strg + C nicht verfügbar sind, da es sich nicht um Bash-Verknüpfungen handelt.Antworten:
Ich habe eine ähnliche Frage auf unix.stackexchange.com beantwortet :
Der einzige Unterschied ist, dass Sie stattdessen den Befehl "shell-kill-word" verwenden müssen, da Sie forward löschen möchten.
Es gibt auch einen "kill-word" -Befehl mit Meta+ dVerknüpfung (versuchen Sie Esc+, dwenn Sie keine Meta-Taste haben). Es wird nur ein Teil des Pfades auf einmal gelöscht.
quelle
"\ew": shell-kill-word
löscht Alt-w vorwärts ein Wort, ähnlich wie STRG-w rückwärts ein Wort löscht (und anders als Alt-d, das das Löschen vorwärts ausführt, aber bei zB anhält) a / oder - und andere Zeichen)Getestet die esc+ dund alt/ opt+ dauf OSX Mavericks und sie funktionieren auch dort.
quelle
Option + d
gibt mir ∂ auf OSXcontrol + d
auf dem Mac Sierra