当我切换缓冲区然后返回到它时(当我回到之前打开的任何缓冲区时),光标被放置在屏幕中间,失去了之前的屏幕位置(例如,光标在屏幕顶部)。也许这是 vim 的正常行为,但有没有办法解决这个问题?
当我使用 :bn 和 bp: 切换缓冲区时会发生此问题。但是,在非常奇怪的选项卡之间切换时不会发生这种行为。
当我切换缓冲区然后返回到它时(当我回到之前打开的任何缓冲区时),光标被放置在屏幕中间,失去了之前的屏幕位置(例如,光标在屏幕顶部)。也许这是 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