vim - 如何从 Vim 脚本文件手动执行组合键?

标签 vim

假设我要运行组合键 <C-e>来自 Vim 脚本的五次。那可能吗?如果是这样,它是如何完成的?

具体来说,我需要这个,因为我想映射一个键以将视口(viewport)在一个方向上轻推屏幕高度的四分之一。为此,我需要结合功能 winheight(".")使用组合键 <C-e>不知何故。

注:我知道我可以更改选项 'scroll'设置行数<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了解更多信息。

关于vim - 如何从 Vim 脚本文件手动执行组合键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14349779/

相关文章:

VIM:使用 == 修复缩进后如何保持视觉模式

vim - 如何将正则表达式应用于多行?

java - 从 eclipse 迁移到 vim 有什么好的教程吗?

vim - CtrlP 性能缓慢,忽略某些文件夹不起作用

linux - 是否可以在 Vim 中(通过 Putty)显示日期/时间?

python - vim-python-模式 : No module named __future__

macos - 如何在 Mac OS X (10.6.6) 上使用 mvim 编辑 crontab

vim - 如何在vim插入模式下删除一个WORD

ruby-on-rails - 如何在 vim/sublime 中很好地显示 Rails development.log?

vim - 如何通过 c 文件列出所有包含的头文件(最好在 Vim 中)