Answers:
默认bash emacs模式下最常用的命令,适用于最常用的键盘:
还有unix-filename-rubout
的Readline
!
# in ~/.inputrc
# press ctrl-b to delete unix filename parts
# see: man bash | less -p 'unix-filename-rubout' and
# http://www.calmar.ws/vim/vi-bash.html
set editing-mode vi
set keymap vi
"\C-b": unix-filename-rubout
unix-filename-rubout
是所问问题的正确答案,因为它删除为斜杠或空格,而Alt-BkSpc
将停在连字符,下划线,点等字符
默认情况下,bash(我猜是zsh)将处于emacs模式。您可以尝试这样的事情:
Esc + b将光标移回一个单词。 Ctrl + k将删除直到该行的末尾。
大多数现代shell(如bash)将实现高级命令行编辑功能。这些命令要么接近于emacs编辑(Ctrl + A代表行首,Ctrl + E代表行尾,...)。
如果您熟悉类似vi的编辑器,则可以尝试允许使用vi模式。
set -o vi
它为您的shell提供了类似于vi的模式(命令模式/插入模式),并且您可以访问标准命令(d代表删除,r代表替换,...)
在Vi模式下,您将按照以下说明进行操作:
Esc (command mode); d; b.
db
此方案。我也在vi-backward-kill-word
zsh中找到了我想要的东西,它比在bash中设置vi-mode更加方便。但是我仍然想在bash中找到一个用于此目的的emacs模式快捷方式。
db
在某些情况下,这种方式不会留下结尾字符。
bindkey [key] vi-backward-kill-word