出现以下命令以调用所需的功能。
:execute "normal \<Plug>VimwikiAddHeaderLevel<CR>"
但是,将其放在映射中似乎会引起问题。
:nmap <buffer> = execute "normal \<Plug>VimwikiAddHeaderLevel<CR>"
这是我输入=
时的输出。
E114: Missing quote: "normal \<Plug>VimwikiAddHeaderLevel
E15: Invalid expression: "normal \<Plug>VimwikiAddHeaderLevel
是否有一些特殊的语法可以让我执行此映射?
答案 0 :(得分:1)
:execute
); :
丢失。<Plug>
和<CR>
已被映射评估;双引号不能保护它们。 <CR>
提交了(不完整的,因为Vim没看到结尾的"
)命令行,这导致了E114
。<
转义为<lt>
之后,您仍然需要另一个<CR>
来结束:execute
命令。:nmap <buffer> = :execute "normal \<lt>Plug>VimwikiAddHeaderLevel\<lt>CR>"<CR>
正如我在您的other question中所指出的那样,如果您确实想解决该插件无法接受计数的问题,则需要一个:for
循环。尽管可以在映射的右侧进行所有内联操作,但是强烈建议将循环分成单独的:function
,以避免此类转义问题。在函数内部,插件调用很简单
:execute "normal \<Plug>VimwikiAddHeaderLevel"