我在Vim上有2个小插件。一个用于增加/减少Vim中字体的插件(适用于我在不同屏幕上工作时)。
一个插件可以在Vim中全屏显示(我在Gvim工作),所以没有窗口边框,任务栏等等。好的。当我放大或缩小字体时,我得到了奇怪的边框。我关闭全屏,然后将其切换回来,一切看起来都很好。
这是我切换缩放功能和全屏功能的键映射
noremap ' :ZoomIn<CR>
noremap - :ZoomOut<CR>
然后这是我切换全屏的映射。
map <A-1> :call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
当我放大或缩小时,我需要关闭全屏并切换,以摆脱奇怪的边框。我认为在一个密钥中提供多个命令会很有用。所以我绘制了这个:
noremap ' :ZoomIn |:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0) |:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
当我按下'键'时,我会收到有关尾随字符的警告。
我调查了:help:bar,似乎我需要使用,因为这会禁用尾随字符。所以我做了。
noremap ' :ZoomIn <bar>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0) <bar>:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
同样的消息,尾随字符。 好的,然后我尝试了另一种方式。
function ToggleZoom()
:ZoomIn<CR>
:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
endfunction
noremap ' :ToggleZoom()<CR>
此解决方案也失败了,收到尾随字符的警告。即使我在这里找不到任何尾随的字符。有什么建议吗?我很感激!
答案 0 :(得分:3)
最后一个
function ToggleZoom()
:ZoomIn<CR>
:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
:call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)<CR>
endfunction
noremap ' :ToggleZoom()<CR>
您不需要函数内的:
或<CR>
。要在映射中调用函数,您将使用call
,因为ToggleZoom()
是函数而不是命令。
function ToggleZoom()
ZoomIn
call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)
call libcallnr("gvimfullscreen.dll", "ToggleFullScreen", 0)
endfunction
noremap ' :call ToggleZoom()<CR>
ZoomIn在命令之间不允许|
的原因是该命令可能未使用-bar
参数声明。看看:h command-bar