使用 shell 时,我们可以选择输入Ctrl+W来删除单词(实际上是任何不带空格的字符序列)在光标之前。我如何添加类似的行为,只删除最后一个代币,这就像Vim 编辑器实现的Ctrl+一样吗?W
为了举例说明,假设键入以下行。 (Obs.: [cursor]` 是光标位置。)
ssh [email protected][cursor]
现在查看结果:
在 El Capitan/Centos 7 下输入两次Ctrl+W我得到:
$ ssh [cursor]
在 Vim 下输入两次Ctrl+W我得到:
$ ssh [email protected][cursor]
答案1
假设你有使用 emacs 键绑定的 bash,这似乎总是默认的。 alt-delete 向后删除一位,alt-D 则删除光标后面的部分。所以,从以下开始:
ssh [email protected]
^
^
作为光标的简单示例,我们在按 后和按 后得到。ssh [email protected]
alt-d
ssh fulano@com
alt-del
不过,要找到其他组合键,如果需要,可能值得查找 emacs 备忘单。 bash 是我记得其中任何一个的唯一原因(对不起 emacs 粉丝......)
注意,在这台机器上它实际上可以使用退格键来工作,而删除则不能,所以你可能需要检查一下。也许只是这一个。