【问题标题】:Vim garbled textVim 乱码
【发布时间】:2012-06-17 09:16:08
【问题描述】:

我在使用 Vim 时遇到了问题(我之前遇到过很多次,现在我终于必须发布它了)。我不相信它只是一个 vim 的东西,但也许是在 ssh 上运行它的组合。这是一个显示我的问题的视频:

http://screencast.com/t/gGoOuJ7wcLA5

我不知道如何解释,所以我拍了视频。如果你不知道,在视频中我所做的就是用 vim 的 j 和 k 键上下移动光标。出于某种原因,当我的光标在 { 符号上时,vim 添加了其他 { 符号。 Vim 会混淆我编写的许多其他代码,但我希望这个示例足够好。顺便说一句,vim 实际上并没有改变这一点。如果我退出 vim 并重新打开文本,则写入的字符不存在。它与我的 $TERM 有什么关系吗?我有 xterm-256color。我最初也尝试过 xterm 。

我在 Mac OSX Lion 10.7 上的 iTerm 中运行此程序,通过 ssh 访问具有 Debian 操作系统的机器。

【问题讨论】:

  • 我在 vim 和 Ubuntu 12.04 的终端上使用 term、Terminator、tmux 和 xterm 看到了这种行为。不过,我认为这是驱动程序的问题。
  • 我建议 TERM/terminfo 是错误的。尝试指定 TERM=vt100/linux/iris-ansi 等。vim 也有一个列出已知终端类型的启动标志

标签: vim ssh vi


【解决方案1】:

问题是我正在访问的 Debian 操作系统中的 $TERM 与 iTerm 的 $TERM 不同。一旦我使它们相同(在我的情况下为 xterm-256color),我遇到的奇怪问题就消失了。

如果有人不知道如何更改它,我在我的 Debian/Ubuntu 机器上运行以下命令:

导出 TERM=xterm-256color

对于 Mac 上的 iTerm,我转到首选项 -> 配置文件 -> 终端 -> 报告终端类型 -> 选择 xterm-256color 或 xterm。

由于在开始登录 ubuntu 时会检查 TERM,因此您可能希望将导出命令包含到您的 bashrc(或另一个终端 shell 的等效文件)中。

【讨论】:

  • 在我的情况下(Ubuntu 16.04),这会删​​除颜色,但显示仍然是乱码。
【解决方案2】:

:redraw! 会删除垃圾字符吗?

如果是这样,我会尝试通过尝试下载 matchparen.vim 插件的源代码(在 google 上很容易找到)来解决您的问题,将 redraw! 添加到它,就在关键位之后,上面写着“设置匹配突出显示”并尝试加载并使用它而不是原始的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-25
    • 2011-11-17
    • 2011-04-05
    • 2013-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多