如何从Vim脚本文件手动执行键组合?
假设我想从Vim脚本中运行键组合如何从Vim脚本文件手动执行键组合?,vim,Vim,假设我想从Vim脚本中运行键组合五次。可能吗?如果是,是如何做到的 具体地说,我之所以需要它,是因为我想映射一个关键点,使视口在一个方向上移动屏幕高度的四分之一。为此,我需要以某种方式将函数winheight(“.”与组合键组合起来 注意:我知道我可以更改选项'scroll'来设置行数和滚动,但该组合键也会移动光标。此外,我不知道如何设置“滚动”选项来滚动窗口高度的一部分,除了设置为0时滚动窗口高度的一半。对于简单命令,:norm[al][!]就足够了。例如,要拔掉一条线: norm! yy
五次。可能吗?如果是,是如何做到的
具体地说,我之所以需要它,是因为我想映射一个关键点,使视口在一个方向上移动屏幕高度的四分之一。为此,我需要以某种方式将函数
winheight(“.”
与组合键
组合起来
注意:我知道我可以更改选项
'scroll'
来设置行数
和
滚动,但该组合键也会移动光标。此外,我不知道如何设置“滚动”选项来滚动窗口高度的一部分,除了设置为0时滚动窗口高度的一半。对于简单命令,:norm[al][!]
就足够了。例如,要拔掉一条线:
norm! yy
对于特殊字符,请使用:exe[cute]“norm[al][!]”
。例如,要执行5
:
但是,参数与空格连接,然后按字面解释。要避免这种情况,请使用
连接参数。因此,为了达到预期效果:
exe "norm!" winheight(".")/4 . "\<C-e>"
exe“norm!”winheight(“.”)/4。"\"
有关更多信息,请参见
:help norm
和:help exe
。在您发表评论后,我想问您,为什么我必须使用execute
才能工作。我知道你远远领先于我:)对于任何感兴趣的人,你都可以在Vim中找到关于使用\
转义特殊密钥的文档。
exe "norm!" winheight(".")/4 "\<C-e>"
exe "norm!" winheight(".")/4 . "\<C-e>"