我正在尝试编写一个可以从命令调用的函数,这将允许我将所有打开的窗格重新设置为相同的大小.我从这开始:
command Equal execute "normal! <C-w>="
Run Code Online (Sandbox Code Playgroud)
这让我打电话
:Equal
Run Code Online (Sandbox Code Playgroud)
它按照我期望的方式工作.但是,我需要为此添加更多功能(if语句等),因此我需要将其声明为函数.但是,我无法弄清楚如何从我的函数中调用"等号"键.这是我有的:
command Equal call EqualizePanes()
function! EqualizePanes()
execute "normal! <C-w>="
endfunction
Run Code Online (Sandbox Code Playgroud)
我知道我的函数声明和调用它的方法是正确的,因为我用简单的东西替换了我的函数的内容,比如"echo foobar",它按预期工作.然而,就目前而言,当我打电话时:Equal,没有任何反应.我尝试过其他的东西:
command Equal call EqualizePanes()
function! EqualizePanes()
normal <C-w>=
endfunction
Run Code Online (Sandbox Code Playgroud)
同样,没有任何运气.对我在这里做错了什么的想法?在此先感谢您的帮助.
请注意,:wincmd您可以使用特殊的Ex命令代替:normal; 这避免了:execute处理\<C-w>符号通常所必需的:
command Equal wincmd =
Run Code Online (Sandbox Code Playgroud)