Рассмотрим следующую командную строку bash, где ^ обозначает местоположение курсора:
svn commit -m very/long/path/to/some/file "[bug 123456] Fix the pixel issue"
^
Я хотел бы зафиксировать другой файл с тем же сообщением. Как я могу удалить текущее слово, от местоположения курсора до следующего пробела? Есть также ярлык для удаления назад, от курсора к первому пробелу назад?
Обновление: ctrl + wстирает в обратном направлении, но какой ярлык стирает одно слово вперед?
command-line
bash
shortcut-keys
Адам Матан
источник
источник
Ctrl u
это опция для удаления из позиции курсора в начало ...alt + d
, это может быть полезно, когда установлен режим редактирования emacs.set -o emacs
включает его, но обычно это значение по умолчанию; если нет, вы можете поместить эту строку в.bashrc
или.bash_aliases
, затем получить исходный файл или перезагрузить терминал. Однако тогда ярлыки, к которым вы можете привыкнуть в режиме vi, будут недоступны, хотя такие, как ctrl + c, будут доступны, поскольку они не являются ярлыками Bash.Ответы:
Я ответил на аналогичный вопрос на unix.stackexchange.com :
Единственное отличие состоит в том, что вместо этого вы должны использовать команду «shell-kill-word», так как хотите удалить вперед.
Существует также команда «kill-word» с сочетанием клавиш Meta+ d(попробуйте Esc+, dесли у вас нет мета-ключа). Это удалит только одну часть пути сразу.
источник
"\ew": shell-kill-word
который заставит Alt-w переслать слово вперед, так же, как CTRL-w, наоборот, удалит слово (и в отличие от Alt-d, который переместит удаление, но остановится, например, а / или - и другие символы)Протестировал и esc+ dи alt/ opt+ dна OSX Mavericks, и они также работают там.
источник
Option + d
дает мне ∂ на OSXcontrol + d
на Mac Sierra