Closed fwy closed 3 years ago
Maybe try commenting out this line https://github.com/vifm/vifm.vim/blob/8fa4145814cb3c2ca8158ff90fcee21f493e2eba/plugin/vifm.vim#L170
If it helps, it's a bug in NeoVim. Actually if it doesn't help, it's probably also a bug there. Such horizontal offset and the fact that it's corrected on redraw of the host suggests an issue on NeoVim's side.
Thanks for the quick reply, although unfortunately the change didn't have any effect. I might try the Neovim site if I can isolate the issue a little better.
I tried the plugin on Windows and don't see the issue.
You could try running :call termopen('vifm')
manually and check if the issue persists.
Yes, the issue does remain. However, I tried opening neovim from a Windows console with no config (nvim -u NORC), ran the :terminal command, and manually ran vifm from the terminal buffer. The issue did not appear, whereas if I start neovim with my own config in the same way, the issue does appear. So it must be an issue somewhere in my own neovim configuration, which has become quite long.
I will try to isolate the problem and post back with the results.
I traced the behavior down to this command in the vim-sensible plugin, which I have been using for a long time now.
if !&sidescrolloff set sidescrolloff=5 endif
I am not familiar with sidescrolloff and have never had to manipulate it, but when it is left unset the problem does not occur.
Although this might be caused by some Neovim bug, I have simply removed vim-sensible from my Neovim configuration to solve the problem, as this plugin is much less useful in Neovim than in Vim anyway.
I am using Neovim 0.4.4 on Windows 10 with Vifm and the vifm.vim plugin. When opening Vifm from within Neovim using :EditVifm, Vifm opens correctly but suddenly jerks the margin several characters to the left when scrolling up/down the file listing. Every few lines (don't see a clear pattern) the margins will correct, then immediately jerk to the left again with further scrolling. Executing any Vim/Neovim command corrects the display, but it immediately happens again.
This doesn't happen on the same Windows machine running vifm.vim inside Vim. Also, on a separate Linux machine, this problem does not happen with either Neovim or Vim.
Does this have something to do with the terminal buffer in which Vifm is running inside Neovim on Windows? I haven't found a solution or workaround.