当水平拆分Vim窗口时," old"的内容滚动窗口以保留相对光标线位置。这种情况甚至发生在小型帮手"缓冲区,如quickfix或预览窗口。
当重复打开和关闭分割时,由此引起的文本移动变得烦人 - 例如完成插件使用的预览窗口。是否可以禁用此功能,并且在拆分时不要滚动旧窗口(除非必须保持光标线可见)?
示例 - 当前行为:
+--------------+ +--------------+
| a | | b |
| b | copen | c (cursor) |
| c (cursor) | --> | d |
| d | +--------------+
| e | | (preview) |
+--------------+ +--------------+
期望的行为:
+--------------+ +--------------+
| a | | a |
| b | copen | b |
| c (cursor) | --> | c (cursor) |
| d | +--------------+
| e | | (preview) |
+--------------+ +--------------+
答案 0 :(得分:1)
尝试类似
的内容 map <F12> mcHmh:split<cr>'hzt`c
在c mc
H
移到顶部
将职位存储为h mh
你的命令在这里拆分,例如
得到h 'h
把这个留给顶部zt
,然后到c
答案 1 :(得分:1)
我自己在寻找解决方案时遇到了这个问题。我找不到一个好的解决方案,这确实困扰了我,所以我最终写了一个小的vim插件来解决这个问题。
https://github.com/gillyb/stable-windows
我认为它确实可以实现您想要的功能。我只是最近才写的,所以如果有任何错误,请随时打开一个问题,我将尝试修复它们。
希望有帮助! :)