我的 Vim 映射中出错



我想用map <c-f3> :w <CR> :make <CR><CR><CR>映射Control + F3 .当我省略Control时,这工作正常。从正常命令模式control进入插入模式,1;5R插入缓冲区。

当我使用更简单的命令时,例如 map <c-f3> dd这按预期工作。

使用 Shift 而不是control我得到了类似的行为(1;2R插入缓冲区)。我该怎么做才能正确映射?

编辑:我希望命令从正常命令模式执行。但是,vim 进入插入模式,这是不需要的。

功能键和修饰符的组合在终端 Vim 中是有问题的;这是否有效取决于终端。

  • 检查您的$TERM值;错误的值可能会导致这些问题。此外,您的术语上限数据库必须正确且完整。
  • 尝试另一个终端(gnome-terminal vs. konsole vs. xterm );它可能在那里工作。
  • 或者,使用 GVIM;它没有这些问题(但仍然无法映射其他一些组合)。

如果您使用不同的终端,最好避免这些组合键,只使用普通<F1..12>,其余的<Leader>...

map定义了正常、视觉和操作模式的击键。对于插入模式,应使用 imap 。我相信像这样的事情:imap <c-f3> <esc>:w :make <cr><cr><cr>. <ESC> 将 Vim 置于正常模式。

:he :key-mapping解释一下。

最新更新