我的Vim映射出错

时间:2014-11-27 17:16:34

标签: vim

我想将Control + F3映射到map <c-f3> :w <CR> :make <CR><CR><CR>。当我遗漏Control时这很好用。在正常命令模式下使用control进入插入模式,并将1;5R插入缓冲区。

当我使用更简单的命令时,例如map <c-f3> dd这可以正常运作。

使用Shift代替control我得到了类似的行为(1;2R插入缓冲区)。我能做些什么才能使我的地图正确?

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

2 个答案:

答案 0 :(得分:1)

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

:he :key-mapping用于解释。

答案 1 :(得分:1)

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

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

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