在输入文本时,我不喜欢光标缓慢下降到屏幕底部的方式。相反,我更希望光标停留在同一位置,而光标上方的文本向上移动。我知道“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