When omni-completion (or other things) opens the preview window, the size of the main window is reduced in order to make room for the preview window.
By default, the fir
I don't know how to trigger this, but use : :normal! Hmx``
to save current window position, and :normal! `xzt``
to restore it.
I reached this question when searching for a solution to this problem myself (although I don't use omni-completion, but other windows also mess with the windows scroll position). I couldn't find a good solution and it really bugged me so I ended up writing a small vim plugin that will solve this.
https://github.com/gillyb/stable-windows
I think it does exactly what you want it to do. I only wrote it recently, so if there's any bugs feel free to open an issue and I will try to fix them.
Hope it helps! :)