如何在不离开插入模式的情况下向上/向下滚动?

Hub*_*bro 5 vim

在Vim正常模式下,您可以分别按ctrl+ ectrl+ y向下和向上滚动.我正在尝试创建一个键绑定,让我也可以从插入模式执行此操作.这就是我所拥有的:

" Scroll up and down while in insert mode.
inoremap <C-e> <C-o><C-e>
inoremap <C-y> <C-o><C-y>
Run Code Online (Sandbox Code Playgroud)

这有点像预期,但它有一个很大的缺陷.它离开插入模式,滚动,然后重新进入插入模式.这在撤消,重复命令等方面是相关的,我希望能够在不离开插入模式的情况下向上和向下滚动.思考?

Daa*_*ker 9

你可以看看:h i_CTRL-X_CTRL-E,这是一个内置的插入模式映射滚动:

                    *i_CTRL-X_CTRL-E*
CTRL-X CTRL-E       scroll window one line up.
        When doing completion look here: |complete_CTRL-E|

                    *i_CTRL-X_CTRL-Y*
CTRL-X CTRL-Y       scroll window one line down.
        When doing completion look here: |complete_CTRL-Y|
Run Code Online (Sandbox Code Playgroud)

所以在你的情况下,这可能会成功:

inoremap <C-e> <C-x><C-e>
inoremap <C-y> <C-x><C-y>
Run Code Online (Sandbox Code Playgroud)