В режиме bash emacs можно ли удалить до предыдущего символа косой черты?
Например, если я ввел команду cp /usr/local/bin/reallylongincorrectfolder /home/myname/reallylong_and_correct_path
и хочу просто удалить reallylongincorrectfolder
.Есть ли какой-нибудь ярлык? Это очень общий сценарий для меня в bash.
Что-то вроде dF<char>
в vi?
3 ответа
Alt - Backspace и Ctrl - w обычно отображаются в backward-kill-word
, что и делает. Если вы хотите выяснить, с чем это связано в вашей системе (если что-нибудь), запустите bind -P | grep '^backward-kill-word'
.
Как объясняет @Barmar, это отличается от unix-word-rubout
, который удаляет к предыдущей границе пространства.
bind -P |grep unix-filename-rubout
Чтобы проверить связывание клавиш, например, с. Ctrl - b:
bind \\C-b:unix-filename-rubout
Для постоянного использования добавьте его в ~/.inputrc
Поместите это в ваш .inputrc
и запустите новую оболочку:
C-b:unix-filename-rubout
Ctrl - b теперь стирает назад до следующего слеша.
Nirvana!
Не забывайте, что Ctrl - X Ctrl - E запустит ваш редактор, так что вы сможете с легкостью редактировать сложную командную строку.