缓冲开关后,Vim将光标置于屏幕中间

时间:2013-08-05 00:08:58

标签: vim

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

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

1 个答案:

答案 0 :(得分:4)

请参阅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