![当我的 esc 键不起作用时,如何向 vim 发送 ESC 信号?](https://linux22.com/image/101537/%E5%BD%93%E6%88%91%E7%9A%84%20esc%20%E9%94%AE%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%E6%97%B6%EF%BC%8C%E5%A6%82%E4%BD%95%E5%90%91%20vim%20%E5%8F%91%E9%80%81%20ESC%20%E4%BF%A1%E5%8F%B7%EF%BC%9F.png)
Esc当我想从插入模式返回交互模式时,我遇到了按键问题。是否存在另一个用于解除插入模式的键?
答案1
Ctrl-[将与物理密钥相同的字符发送到终端Esc。一般来说,后者只是前者的捷径。
答案2
你可以尝试Ctrl-C这对我有用,并且在我看来比 更容易ESC。但是我不确定它是否默认启用。
答案3
如果您希望能够使用单个键,作为纯 *nix 解决方案(没有 Vim 映射),您可以将另一个键定义为Esc.就像 Emacs 用户重新映射CapsLock到Ctrl某些 Vim 用户(包括我)重新映射CapsLock到Esc.这适用于任何使用 X11 的 *nix。
使用xev -event keyboard
(然后按CapsLock)获取该CapsLock键的键码(对我来说是键码 66)。然后您可以使用xmodmap
重新映射密钥:
xmodmap -e 'remove Lock = Caps_Lock' -e 'keycode 66 = Escape'
要在登录时获取此信息,您可以添加表达式xmodmap
,~/.Xmodmap
如下所示:
remove Lock = Caps_Lock
keycode 66 = Escape
尽管对于第二部分 YMMV,因为并非所有显示管理器都运行~/.Xmodmap
.您可能需要添加xmodmap .Xmodmap
其中.xinitrc
一些。
答案4
当您按下以下命令时,终端模拟器也会发送 ESC 代码:
- Ctrl+[
- Ctrl+3我喜欢这个,因为你只能用一只手按下它。
- Alt后跟任何其他键。例如Alt+ h、j、k、l将退出插入模式并同时移动光标。