缓冲区切换后,Vim 将光标置于屏幕中间

标签 vim

当我切换缓冲区然后返回它时(当我回到以前打开的任何缓冲区时),光标被放置在屏幕中间,失去以前的屏幕位置(例如光标在屏幕顶部)。也许这是 vim 的正常行为,但有什么办法可以解决这个问题吗?

当我使用 :bn 和 bp: 切换缓冲区时会发生此问题。但是,在选项卡之间切换时不会发生这种情况,这真的很奇怪。

最佳答案

http://vim.wikia.com/wiki/Avoid_scrolling_when_switch_buffers

" When switching buffers, preserve window view.
if v:version >= 700
   au BufLeave * if !&diff | let b:winview = winsaveview() | endif
   au BufEnter * if exists('b:winview') && !&diff | call   winrestview(b:winview) | endif
endif

关于缓冲区切换后,Vim 将光标置于屏幕中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18048944/

相关文章:

vim - 最喜欢的简约.vimrc配置

python - 如何以交互方式调试 python vim 脚本?

clojure - clojure 的 Slimv 设置

vim - 粘贴垂直选择时避免额外的空格

Vim 最后位置标记仅适用于 sudo

vim - 回到输入文本前光标所在的位置

vim - vim命令可以使用> 1修饰符映射到组合键吗(例如ctrl-alt-v)

css - VIM:如何使用 HTML 文件中声明的标签 ID 和类名在 CSS 文件中自动完成

css - 如何启用和禁用 Vim 语法脚本?

vim - 检查 Vim 拆分窗口是否最底部/最右侧