vim 中 zz 的水平等效项

vim 中 zz 的水平等效项

如果我按下zzvim,我的屏幕/视图将在光标位置垂直居中。

我怎样才能做同样的事情,但是是水平的?有 vim 命令吗?

答案1

没有单一的 Vim 命令,但您可以组合使用zszH:滚动将光标置于屏幕左侧,然后向右滚动半个屏幕宽度。

我的中有这个映射~/.vimrc

" Horizontally center cursor position.
" Does not move the cursor itself (except for 'sidescrolloff' at the window
" border).
nnoremap <silent> z. :<C-u>normal! zszH<CR>

答案2

这不是问题的直接答案,但可能是解决根本问题的不同解决方案。就我而言,问题出在很长的行上,右侧从屏幕上掉下来,光标最终位于右侧很远的地方。

:set sidescrolloff=<number of characters>

有趣的是,如果您只是在此处输入一个巨大的数字,它似乎会将其限制在屏幕中间。通过这种方式,您永远不必执行“zz”等效操作,因为光标始终在屏幕上水平居中(除非您点击左边缘)。

只是为了完整性,如果您想要垂直等效的,您可以使用

:set scrolloff=<number of lines>

相关内容