当全自动完成(或其他操作)打开预览窗口时,主窗口的大小会减小,以便为预览窗口腾出空间。默认情况下,预览窗口弹出前在主窗口中可见的第一行在预览窗口弹出后也将相同。这有一个不幸的效果,即主窗口中的文本在视觉上被向下推。我更希望主窗口中的文本保持在原来的位置。这实际上意味着当预览窗口弹出并关闭时,主窗口中的第一个可见行需要更改。有人知道一个很好的方法来实现这一点吗?
dzjeubhm1#
我自己在寻找解决这个问题的方法时遇到了这个问题(虽然我不使用全自动完成,但其他窗口也会扰乱窗口的滚动位置)。我找不到一个好的解决方案,它真的困扰着我,所以我最终写了一个小的vim插件来解决这个问题。https://github.com/gillyb/stable-windows我认为它做的正是你想让它做的。我只是最近才写的,所以如果有任何bug,请随时打开一个问题,我会尝试修复它们。希望能帮上忙!:)
xfb7svmp2#
我不知道如何触发它,但用途::normal! Hmx```保存当前窗口位置,:normal! `xzt```恢复当前窗口位置。
:normal! Hmx```保存当前窗口位置,
wvt8vs2t3#
有一个新的neovim插件称为“稳定”来处理这个问题。即使是上面提到的插件的作者,“stable windows”也转移到了NeoVim和“Stabilize”。我只使用了几分钟,但总的来说,这似乎完全解决了当前的问题,这些问题困扰着我的拆分和快速修复列表。https://github.com/luukvbaal/stabilize.nvim
u3r8eeie4#
截至2022年9月,vim引入了原生选项splitkeep。设置选项set splitkeep=screen可实现所需的行为。
splitkeep
set splitkeep=screen
4条答案
按热度按时间dzjeubhm1#
我自己在寻找解决这个问题的方法时遇到了这个问题(虽然我不使用全自动完成,但其他窗口也会扰乱窗口的滚动位置)。我找不到一个好的解决方案,它真的困扰着我,所以我最终写了一个小的vim插件来解决这个问题。
https://github.com/gillyb/stable-windows
我认为它做的正是你想让它做的。我只是最近才写的,所以如果有任何bug,请随时打开一个问题,我会尝试修复它们。
希望能帮上忙!:)
xfb7svmp2#
我不知道如何触发它,但用途:
:normal! Hmx```保存当前窗口位置,
:normal! `xzt```恢复当前窗口位置。wvt8vs2t3#
有一个新的neovim插件称为“稳定”来处理这个问题。即使是上面提到的插件的作者,“stable windows”也转移到了NeoVim和“Stabilize”。
我只使用了几分钟,但总的来说,这似乎完全解决了当前的问题,这些问题困扰着我的拆分和快速修复列表。
https://github.com/luukvbaal/stabilize.nvim
u3r8eeie4#
截至2022年9月,vim引入了原生选项
splitkeep
。设置选项
set splitkeep=screen
可实现所需的行为。