在 bash 中,我使用 Ctrl + w 来执行此操作,但它在我的 csh 中不起作用,它不是删除一个单词,而是清理整行。如何删除最后一个字?
尽管 Ctrl + u 在 csh 和 bash 中都工作正常。
我在屏幕内运行 csh (ubuntu)。
这对我来说适用于 tcsh:
ALT
+ BACKSPACE
。希望有帮助!
该操作被命名为“向后删除单词”。 如果您在 csh 中运行命令
>bindkey
,您将获得适用于您的 shell 的所有键盘快捷键。
你可以>grep "backward-delete-word"
,你会得到类似这样的结果:
>> bindkey | grep "backward-delete-word"
"^�" -> backward-delete-word
"^[^H" -> backward-delete-word
"^[^?" -> backward-delete-word
这些结果应该是默认按键绑定以及自定义按键绑定(如果有人设置)的组合。
我绝对不知道第一个是什么意思,但我可以看出
^[
表示“元字符”,^H
表示 ctrl+h (不是 ctrl+H,而是 ctrl + shift + h)和 ^?
表示“退格键”。
您可以通过按 esc 并松开,或者按住 Alt 键并同时按下组合中的其他键来输入元字符键。
所以我(可能还有你)对于删除向后单词的选项是:
alt+ctrl+h
esc->ctrl+h
alt+退格键
esc->退格键
还有一个神秘选项。
要像 bash 一样使用 Ctrl-w 删除 csh 中的单词,请将以下内容添加到 ~/.cshrc
bindkey "^w" 向后删除单词