Vim 切换缓冲区时保持窗口位置

标签 vim

我在 Vim 中遇到的一个问题是,当我在窗口(:[n]b 或 MiniBufExpl)中切换缓冲区时,光标位置保持不变,但窗口始终定位自身,因此光标所在的行位于中间。

这真的让我很烦,因为我在视觉上记住了窗口的顶部/底部的位置,而不是将光标定位在窗口中间的位置。

是否可以更改设置以保留窗口在缓冲区上的位置?

最佳答案

有趣的是,在我阅读您的问题之前,它并没有打扰我,大声笑。

尝试这个:

if v:version >= 700
  au BufLeave * let b:winview = winsaveview()
  au BufEnter * if(exists('b:winview')) | call winrestview(b:winview) | endif
endif

关于Vim 切换缓冲区时保持窗口位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4251533/

相关文章:

vim - 粘贴所选文本时,vim 如何保留寄存器的内容?

shell - 如何在 vim 中运行 shell 命令并将结果字符串返回到 VimScript 变量中?

vim - 如何在VIM中用CTRL-]实现自己的标签跳转?

vim - 可以在 vimscript 中访问 NERDTree 缓冲区吗?

python - 使制表看起来不同于空白

version-control - 将 .vimrc 放入 vimfiles 目录

vim - 如何说服 nerdtree 在当前窗口中打开文件

vim - 如何在不为 Vim 中的空行添加空格的情况下连接行

vim - 如何在启动时暂停 vim 错误消息?

Vim 窗口反复调整大小