![有哪些选项可以使 csh 的行为更像 Windows?](https://linux22.com/image/1266496/%E6%9C%89%E5%93%AA%E4%BA%9B%E9%80%89%E9%A1%B9%E5%8F%AF%E4%BB%A5%E4%BD%BF%20csh%20%E7%9A%84%E8%A1%8C%E4%B8%BA%E6%9B%B4%E5%83%8F%20Windows%EF%BC%9F.png)
我csh
在 Windows PC 上使用 PuTTY,由于我习惯于使用按钮HOME
将光标放在字符串的开头(而不是插入~
)或ctrl+arrow将光标放在另一个单词的开头/结尾,所以我想在 shell 中进行这种导航。有哪些选项可以做到这一点?
我猜 PuTTY 只是将我的命令传递给 shell,要执行此类操作,我必须更改其属性,但也许我可以告诉 PuTTY 为我替换一些东西,或者使用另一个客户端?
谢谢。
答案1
我认为除了使用以下命令运行 csh 之外,你没有其他办法rlwrap
。
但是,对于 tcsh 和 Bash 来说,这很容易。
以下是 tcsh 的一个示例:
bindkey ^[OC forward-word
对于 Bash:
bind '"\eOC": forward-word'
如果你将此行放入你的程序中,~/.inputrc
它将影响 Bashrlwrap
和其他基于 readline 的程序:
"\eOC": forward-word
您使用的字符序列将取决于终端发出的内容。例如,按下Ctrl-v然后按下您感兴趣的键Ctrl,Right Arrow它将向您显示该键输出的序列。您将看到类似以下内容的内容:
^[OC
代表 Escape-OC。Ctrl-[ 输出为一个代表 Escape 的字符,但您可以输入一个插入符号,然后输入一个左方括号或一个反斜杠和一个“e”。
您可以在 tcsh 中使用列出绑定bindkey
,或者在 Bash 中使用“bind -p”列出绑定。
答案2
在 PuTTY 中,查看终端选项下的键盘选项。我知道您可以在键盘选项中修复 Home/End 字符,但是我认为您无法通过 PuTTY 执行任何操作来使 +Ctrl正常Arrow工作,这可能必须是您的 shell 的功能。