2012-06-14 35 views
4

我遇到了Vim的问题(我已经有过很多次了,现在我终于必须发布它了)。我不相信它只是一个vim的东西,但可能是与在ssh上运行它的组合。这是显示我的问题视频:Vim乱码文本

http://screencast.com/t/gGoOuJ7wcLA5

我不知道的方式来解释它,所以我把录像。如果你不能说,在视频中,我所做的只是使用j和k键为vim上下移动光标。出于某种原因,当我的光标位于{符号上时,vim会添加其他{符号。 Vim为我写了很多其他代码,但我希望这个例子足够好。顺便说一下,vim实际上并没有改变这一点。如果我退出vim并重新打开文本,则写入的字符不在那里。它可能与我的$ TERM没有任何关系吗?我有xterm-256color。我也尝试过xterm。

我在Mac OSX Lion 10.7上的iTerm中运行此操作,通过ssh使用Debian OS访问计算机。

+0

我在vim和Ubuntu 12.04中使用term,Terminator,tmux和xterm在终端上看到了这种行为。虽然,我认为这是一个驱动问题。 – nathan

+0

我建议TERM/terminfo是错误的。尝试指定TERM = vt100/linux/iris-ansi等vim也有一个启动标志,列出已知终端类型 – sehe

回答

2

问题是我在访问的Debian OS中的$ TERM与iTerm的$ TERM不同。一旦我使它们变得相同(在我的例子中是xterm-256color),我就离开了这个奇怪的问题。

万一有人不知道如何改变这种状况,我在的Debian/Ubuntu的机器运行以下命令: - >概况 -

 
export TERM=xterm-256color 

,并在Mac的iTerm,我去首选项>终端 - >报告终端类型 - >选择xterm-256color或xterm。

由于TERM检查是在登录到Ubuntu的开始时完成的,因此您可能需要将export命令包含到您的bashrc(或其他终端shell的等效文件)中。

+0

在我的情况下(Ubuntu 16.04)但显示屏仍然混乱。 – Dirk

-2

请问:redraw!是否删除垃圾字符?

如果是这样,我会尝试通过尝试下载matchparen.vim插件的源代码(易于在谷歌上查找)来解决您的问题,将redraw!添加到它,紧随关键位之后,它表示“setup匹配突出显示“并尝试加载并使用它而不是原始的。

+2

这是一种解决方法,不是解释或解决方案 – sehe