在 vim 中切换文件时,如何保持窗口位于特定行号的中心?

在 vim 中切换文件时,如何保持窗口位于特定行号的中心?

我需要快速比较文件的不同版本,并且需要不断更改到新文件。当我循环浏览不同的文件时,是否可以将光标固定在特定的行号上?

这个背景是,当使用 Fugitive.vim 的 Glog 命令时,我需要从文件的一个版本切换到下一个版本并比较相同的位置。

编辑:当使用 :cnext 和 :cprev 在文件之间切换时,这也需要在快速列表中工作

干杯,杜兰德

答案1

这会将光标移动到您查看的每个文件的第 50 行,并将该行置于显示的中心。

:au BufRead * silent! 50 | normal zz

接受后更新:

上述方法在使用:n和在文件列表中跳转时有效,但在使用和:N遍历快速修复列表时无效。根据评论中的讨论,实际有效的解决方案是使用如下映射。:cn:cp

:map <C-N> :cn<CR>50Gzz
:map <C-P> :cp<CR>50Gzz

相关内容