vim 乱码

标签 vim ssh vi

我在使用 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 中运行它,使用 Debian 操作系统通过 ssh 访问机器。

最佳答案

问题是我访问的 Debian 操作系统中的 $TERM 与 iTerm 的 $TERM 不同。一旦我使它们相同(在我的例子中是 xterm-256color),我就解决了这个奇怪的问题。

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

导出 TERM=xterm-256color

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

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

关于vim 乱码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11031404/

相关文章:

vim - 是否可以在 Vim 中排队命令?

c++ - YouCompleteMe,头文件

vim - 如何防止点击 "dd"删除当前的yank?

vim - 使用 vimdiff 查找特定列中的差异

c++ - libssh2:写入数据包:套接字错误(或连接关闭)

linux - SSH 隧道问题

git - 使用 ssh 配置从 azure devops 克隆

php - 如何在VI中调试

c++ - 如何在 vim 中导航 C++ 模板实例化?

linux - 在 linux vi 模式下每行后都需要特殊字符