重击vim屏幕绘图错误

时间:2011-08-22 18:00:15

标签: vim screen redraw

当我在vim中打开文件时,发生了一些非常奇怪的事情,我不记得做任何导致它的事情。

奇怪的行为包括:

  • 在我以可视模式突出显示文本之前,没有文字可见,此时可以从上面看到它。 “:重画!”没有任何可见的东西。
  • 第1行缺失
  • 偶尔光标会出现在编辑
  • 的下方一行
  • 状态变为永久状态,从底部向上滚动,而不是仅在底部重绘
  • vim文本未延伸到垂直最大化窗口的底部

我缺乏发布屏幕截图的声誉,但我很乐意提供任何其他有助于诊断的信息。

ETA:啊!我的.vimrc指定了一个列/行大小。我删除了那条线,到目前为止表现良好。谢谢!

3 个答案:

答案 0 :(得分:6)

vim是基于终端的,当您使用的终端与终端vim认为您正在使用的终端不匹配时,会发生这样的错误。大多数人使用vim与终端模拟器。当您调整模拟器窗口的大小并且vim没有发现它时,或者当环境中指定的终端标识字符串与您正在运行的终端模拟器不匹配时,可能会发生这种情况。

如果没有关于运行vim的平台的更多细节,很难更具体 - 但作为提示:在创建模拟器窗口之后但在运行vim之前不要调整它的大小。

终端仿真器应该将大小更改传回给在其中运行的程序,但这并非100%万无一失,尤其是当您在模拟器中登录到远程计算机时。

答案 1 :(得分:5)

如果您是从UNIX(Linux等)执行此操作,请尝试运行:!resize以强制您的终端重新调整其大小参数。至少它会告诉你系统认为你的窗口大小是什么,这可能与它的实际大小不符。

答案 2 :(得分:1)

将vim与bash一起使用时遇到了类似的问题。当我从bash切换到zsh时,它给出了重绘错误,在我输入的时候,对于我输入的每10个字符,光标或屏幕似乎会下降一行。使用箭头键滚动也会导致相同行的显示问题,但更糟糕。

我在之前的.vimrc中有这一行,我相信是为vim设置颜色

set t_256

我将其更改为set term=xterm=256color,问题就消失了。