Vim 如何绑定&x27;jk';在tcsh外壳的Vi模式下按Esc键

Vim 如何绑定&x27;jk';在tcsh外壳的Vi模式下按Esc键,vim,shell,tcsh,Vim,Shell,Tcsh,我喜欢每天在tcsh上使用vim。我喜欢维姆的一切。我如此喜欢它的原因之一是我不必举手做事。我已将jk映射到Esc键进入vim。但不幸的是,我不能在tcsh外壳上得到同样的东西 有人能帮我把tcsh上的bindkeyjk转到Esc吗 另外,请指导我阅读tcsh和vi模式的文章/教程/指南/提示n-tricks如果您展示了在vim中使用的绑定命令,可能会有所帮助 但是,这个可能会满足您的需求: bindkey -v bindkey "jj" self-insert-command bindkey

我喜欢每天在tcsh上使用vim。我喜欢维姆的一切。我如此喜欢它的原因之一是我不必举手做事。我已将
jk
映射到
Esc
键进入vim。但不幸的是,我不能在tcsh外壳上得到同样的东西

有人能帮我把tcsh上的
bindkey
jk
转到
Esc


另外,请指导我阅读tcsh和vi模式的文章/教程/指南/提示n-tricks

如果您展示了在vim中使用的绑定命令,可能会有所帮助

但是,这个可能会满足您的需求:

bindkey -v
bindkey "jj" self-insert-command
bindkey -s "jk" "^["
注意:对于最后一个命令,如果键入它或将它粘贴到命令行中,则必须先按Ctrl-v,然后按j或按j两次才能获得“j”字符。要获取“^[”,您可以只键入这些字符,也可以按Ctrl-v然后按Esc键


输入这三个命令(或将它们添加到
~/.tcshrc
并启动新shell)后,在插入模式下按j键将在命令行上插入字母“j”。如果在插入模式下按j键,它将切换到命令模式(如按Esc键).

您正在谈论的是两个键的顺序,即j和k?如果使用
bindkey
无法实现这一点,您也不会感到惊讶,因为文档都使用单数“键”进行绑定。但是,如果您使用
bash
,readline确实支持键顺序。(切换到bash还有许多其他原因!)就我个人而言,我已重新映射capslock以全局逃逸(使用xmodmap)-这可能是一个很好的选择。Jefromi,是的,我说的是序列
jk
。这是我在vim上使用的
Esc
,不幸/幸运的是,我现在应该坚持使用tcsh。我肯定
bash
有它的答案,但我正在寻找一个特定于tcsh的。谢谢。你可能会在supe上得到更多的回复ruser。它似乎不是特定于编程的。谢谢。我们将尝试并让您知道。感谢您的帮助。