打字时保持窗口中的光标位置(在 Windows 和/或 Linux 上使用 vim)

打字时保持窗口中的光标位置(在 Windows 和/或 Linux 上使用 vim)

在输入文本时,我不喜欢光标缓慢下降到屏幕底部的方式。相反,我更希望光标停留在同一位置,而光标上方的文本向上移动。我知道“scrolloff”选项,但我不喜欢它,因为它会弄乱 H、L 和 M 命令,而“zz”命令太麻烦了。

有人知道如何在 vim 中实现这种行为吗?

答案1

您可以将'scrolloff'选项设置为较大的数字,以使光标保持在显示屏的中间:

:set scrolloff=9999

要仅在插入模式下执行此操作,您将需要使用autocmd

:autocmd InsertEnter * :set scrolloff=9999
:autocmd InsertLeave * :set scrolloff=0

如果您关闭了换行功能,您可以用该'sidescrolloff'选项执行相同的操作。

将命令放在你的 ~/.vimrc (Windows 为 ~/_vimrc) 中以使它们永久生效。

看:

:help 'scrolloff'
:help 'sidescrolloff'
:help autocmd.txt

答案2

作为一种廉价而俗气的方法,你可以使用

:imap <CR> <ESC>zzo

每次在插入模式下zz按下时执行。Enter

相关内容