vim“渲染”问题,可能是终端问题?

vim“渲染”问题,可能是终端问题?

最近,我开始遇到 Vim 的“渲染”问题。我说渲染是因为它似乎只影响屏幕上显示的内容,而不影响实际文件的输出。

我在定制的 Yocto 发行版上运行 openbox 和 rxvt/xterm。我以普通用户身份登录,启动 openbox,打开终端窗口 (rxvt) 并使用 打开新文件vim test.txt,一切正常;底线 (状态行) 显示"test.txt" [New]在左侧和0,0-1 All右侧。我按I进入插入模式,底线-- INSERT --在左侧和0,1 All右侧变为,一切正常。在左侧,所有空行都以 开头,~除了顶部行,其中光标是第一个字符。

现在,我按下类似这样的键k,第一个字符变成 a ~,光标向右跳一个字符,但k看不到任何内容。此外,底部现在有两行。顶部一行显示-- INSERT --在左侧和1,2test.txt + (~)右侧。底部一行显示- VIM在左侧,右侧什么也没有。

如果我忽略这个“渲染中断”的事实并保存文件然后重新打开它,文件内容将正确显示,并且该字符k是第一个也是唯一的字符。所以这似乎只是一个视觉问题。

当我vim以普通用户身份在 rxvt/xterm 中运行时,会发生这种情况。这没有发生当我vim以普通用户身份在 tty3 中运行时(Ctrl+Alt+F3)。这没有发生当我运行sudo vimsu - root然后运行时vim,在 openbox 中的 rxvt 里面。

我检查了不同环境中的 $TERM 变量是否存在不匹配的情况:

  • 在 rxvt 中作为普通用户echo $TERM= rxvt
  • 在 xterm 中作为普通用户echo $TERM= xterm
  • 在 rxvt 中以 root 身份运行,su - root然后echo $TERM= rxvt
  • 在 xterm 中以 root 身份su - root运行echo $TERM= xterm
  • 在 tty3 中作为普通用户echo $TERM= linux
  • 在 tty3 中作为 root echo $TERM= linux

我没有对任何配置做出任何有意识的更改,但最近我确实对内核和很多软件包进行了大量更新,但我无法判断这个问题是否在那时开始。

我还可以在哪里检查什么可能的错误?

编辑:这没有发生当我vim以普通用户身份在 rxvt 中的屏幕会话中运行时。

  • 在屏幕上作为普通用户echo $TERM= screen

相关内容