当omni-completion(或其他内容)打开预览窗口时,主窗口的大小会减小,以便为预览窗口腾出空间。
默认情况下,弹出预览窗口之前在主窗口中可见的第一行也会在弹出预览窗口后显示。这具有令人遗憾的效果,即主窗口中的文本在视觉上被按下。
我希望主窗口中的文本保持原样。这实际上意味着当预览窗口弹出和关闭时,主窗口中的第一条可见线需要更改。
有没有人知道一个很好的方法来实现这个目标?
答案 0 :(得分:3)
我不知道如何触发此操作,但请使用::normal! Hmx``
来保存当前窗口位置,并使用:normal! `xzt``
来恢复它。
答案 1 :(得分:1)
我本人在寻找解决方案时遇到了这个问题(尽管我不使用全功能完成,但是其他窗口也与窗口滚动位置混淆了)。我找不到一个好的解决方案,这确实困扰了我,所以我最终写了一个小的vim插件来解决这个问题。
https://github.com/gillyb/stable-windows
我认为它确实可以实现您想要的功能。我只是最近才写的,所以如果有任何错误,请随时打开一个问题,我将尝试修复它们。
希望有帮助! :)