假设我想运行键组合< C-e>来自Vim脚本的五次.那可能吗?如果是这样,它是如何完成的?
具体来说,我需要这个,因为我想映射一个键,以便在一个方向上将屏幕高度的四分之一推到视口.为此,我需要将函数winheight(“.”)与键组合< C-e>组合.不知何故.
注意:我知道我可以更改“滚动”选项以设置行数< C-u>和< C-d>滚动,但该键组合也移动光标.另外,我不知道如何设置’scroll’选项来滚动窗口高度的一部分,除了它在我将其设置为0时滚动窗口高度的一半.
最佳答案 对于简单的命令,:norm [al] [!]就足够了.例如,要划一条线:
norm! yy
对于特殊字符,请使用:exe [cute]“norm [al] [!]”.例如,要做5< C-e>:
exe "norm! 5\<C-e>"
使用exe,可以使用多个参数插入其他代码:
exe "norm!" winheight(".")/4 "\<C-e>"
但是,参数与空格连接,然后按字面解释.为避免这种情况,请使用.加入争论.因此,为了达到预期的效果:
exe "norm!" winheight(".")/4 . "\<C-e>"
请参阅:help norm和:help exe以获取更多信息.