2

我想使用以下代码快速从插入模式 -> 命令模式。问题是它似乎没有注册我的密钥。我试过控制(没有任何反应),我也试过命令(D),它只是说拼写检查没有激活。

" Quick command mode from insert
imap <C-;> <esc>:   

我该怎么做呢?有没有我不知道的更简单的 vim 方式?

4

3 回答 3

6

某些Ctrl和弦无法映射,包括Ctrl-;.

此常见问题解答中提到了这一点,另请参阅Vim 常见问题解答

20.4。我无法为<xxx>密钥创建映射。怎么了?

首先确保将密钥传递给 Vim。在插入模式下,按Ctrl- ,V 然后按所需的键。您应该会看到与该键对应的键码。如果您确实看到了密钥代码,那么您可以使用以下命令为密钥创建映射:

:map <C-V><xxx> <your_command_to_be_mapped>

有关更多信息,请阅读

:help map-keys-fails
:help :map-special-keys
:help key-codes

Ctrl-V如果您在使用另一个组合键时遇到此问题,请记住有关尝试打印字符的提示。

于 2012-08-12T17:58:38.093 回答
1

我试过了,但它似乎不起作用,正如 pb2q 所说,它只是无法映射。但是还有其他方法可以使用 Ctrl 组合键进行转义。

例如,您还可以使用以下按键退出插入模式:

  1. Ctrl-[
  2. Ctrl-c
于 2012-08-12T18:00:22.713 回答
1

在 OS X(我认为是 Lion 及更高版本)上,您可以alt - ;使用此方法进行映射,alt - ;在 OS X 输出 ç 上,您可以进行映射。

但在 MacBook 上,我更喜欢使用PCKeyboardHack映射caps lockesc. 或者在 Windows 上,使用我自己创建的工具,甚至Ctrl2Cap

编辑

哦,对不起,我以为你想切换到普通模式,这就是我谈到caps lock映射的原因。

于 2012-08-12T19:54:29.187 回答