Vim:打开预览/快速修复时不要移动窗口内容

问题描述 投票:16回答:2

水平分割Vim窗口时,滚动“旧”窗口的内容,以保留相对光标行的位置。即使对于小的“帮助程序”缓冲区(例如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)   |
+--------------+              +--------------+
vim vim-plugin
2个回答
1
投票

尝试类似的东西

 map <F12> mcHmh:split<cr>'hzt`c

在c mc中的存储位置

H移至顶部将位置存储到h mh

例如,您的命令在此处拆分

转到h'h将其留在顶部zt并移至c


0
投票

我本人在寻找解决方案时遇到了这个问题。我找不到一个好的解决方案,它确实困扰了我,所以我最终写了一个小的vim插件来解决这个问题。

https://github.com/gillyb/stable-windows

我认为它确实可以实现您想要的功能。我只是最近才写的,所以如果有任何错误,请随时打开一个问题,我将尝试修复它们。

希望有帮助! :)

© www.soinside.com 2019 - 2024. All rights reserved.