在
这对于 command-mode 键很有效,但对于 insert-mode 键,键扩展也会在
如何正确地从
vim
中,可以通过 :map <key> <macro>
命令映射 command-mode 键,并通过 :map! <key> <macro>
命令映射 insert-mode 键。映射后,从 command-mode 键和 insert-mode 键中删除映射的命令分别是 unmap <key>
和 unmap! <key>
。这对于 command-mode 键很有效,但对于 insert-mode 键,键扩展也会在
ex
命令行提示符上起作用:试图输入该键会导致宏扩展,从而导致 unmap!
命令出现错误参数(E474: Invalid Argument
),或者该命令可能尝试将某个不同于预期的键取消映射(E31: No such mapping
)。如何正确地从
vim
上删除 insert-mode 映射的键呢?
map
和:map!
。更喜欢精确的映射命令imap
、smap
、xmap
、cmap
和nmap
。甚至更好的是nore版本。使用这些命令,你就不会被你曾经尝试过的不想要的副作用所困扰了。 - Luc Hermittevim
的书籍,它可能仍然会涉及到vi
,然后再到vim
(也许还有其他的克隆版本)。它们与常规vi
映射有很大区别吗?我猜想imap
和cmap
代表 插入模式 映射和 命令模式 映射? - IanC:help :imap
等命令来查看它们确切的作用。顺便说一下,:help :help
就像 vim 的man man
。 - Luc Hermitte:cmap
是指“命令行模式映射”,:imap
是指“插入模式映射”,等等。 - romainl