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

mil*_*epa 4 vim

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

当我使用 :bn 和 bp: 切换缓冲区时会出现此问题。然而,在选项卡之间切换时,这种行为不会发生,这确实很奇怪。

jdu*_*uan 5

请参阅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
Run Code Online (Sandbox Code Playgroud)