我有以下内容:
map <F6> :SCCompile<cr>
map! <F6> <c-r>=SingleCompile#Compile()<cr>
我也想:SCCompile
在第二个映射中使用,可以吗?
目前我有另一个我真的不想包含在函数调用中的命令。我<c-r>=
在插入模式下使用,因为它不会创建撤消点,并且除了这个限制之外它的效果很好。
我试过执行,但它不工作。
You can do something like this:
map <F6> :SCCompile<cr>
map! <F6> <c-r>=feedkeys("<c-o>:SCCompile\<lt>cr>")?'':''<cr>
The command isn't the simplest:
<c-r>=
<lt>
to allow expanding of <cr>
in command-line mode instead of in <c-r>=
?:
operator to ignore value returned by feedkeys()
functionSee :help feedkeys()
.
您可以基于我对您最近类似问题的回答。这是完全相同的问题:就像:call
,自定义 Vim 命令不返回任何内容,但<C-R>
需要一个返回内容的表达式:
function! SingleCompileWrapper()
SCCompile
return ''
endfunction
map! <F6> <C-R>=SingleCompileWrapper()<CR>