我想用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
解释一下。