【问题标题】:Vim displays OOPS instead of placement/color commandsVim 显示 OOPS 而不是放置/颜色命令
【发布时间】:2011-06-24 12:48:13
【问题描述】:

我有一组 Solaris 盒子 (5.10/8) 我在上面操作。当我登录到一个特定用户并启动 Vim 时,我没有看到应有的 Vim 介绍消息。相反,消息显示在屏幕底部,并且“OOPS”放置在我们可能希望看到新行或任何其他颜色命令的位置。当我开始打字时,问题仍然存在。初始输出如下所示:

OOPSVIM - Vi IMprovedOOPSversion 7.2OOPSby Bram Moolenaar et al.OOPSVim 是开源的,可免费分发OOPS成为注册的 Vim 用户!OOPStype :help 注册信息OOPStype :qOOPSto exitOOPStype :help 或在线帮助OOPStype :help version7 for version infoOOPSRunning in Vi 兼容模式OOPStype :set nocpOOPSfor Vim defaultsOOPStype :help cp-default 获取有关此OOPS 的信息

这发生在所有盒子上。当我注销并使用任何其他用户并调用相同的二进制文件时,问题不会出现。我从另一个用户那里获取了 .vimrc 并将其复制到问题用户的主目录中,但无济于事。我还尝试设置环境变量以匹配另一个用户。我发现谷歌搜索的一篇文章说,当他们重新编译二进制文件时问题就解决了。但是,我没有控制权或访问权限,我不认为这是一个二进制问题,因为所有其他用户都可以很好地使用 Vim。有人能发现可能是什么问题吗?

【问题讨论】:

  • 尝试使用 TERM=vt100、TERM=iris-ansi、TERM=xterm、TERM=linux 等
  • vt100 效果最好,但是当我尝试添加颜色时,它有点坏了。我会坚持这个思路。很明显,TERM 确实是罪魁祸首。如果有人对 TERM 提出建议,我会非常乐意听到。
  • 修复了问题!这不是学期。我已经用一个工作用户检查了我的环境变量,但我刚刚意识到损坏的用户的 vim 在一个盒子上正常工作。所以我做了一组>文本。然后在 vim 被破坏的机器上获取文本文件。瞧!固定的。 POE 让我发现 LD_LIBRARY_PATH 是问题所在。

标签: shell unix vim environment-variables solaris


【解决方案1】:

可以在这里看到:

tgoto 函数(目的:解码 cm 光标运动字符串)可能会失败并返回 OOPS。

最可能的原因是不受支持的 TERM 环境变量。要获得可识别的内置终端类型列表,请尝试

TERM=bogus vim +q

它将显示一个列表,您可以选择与您的操作系统/终端(模拟器)最相似的一个

PS。如果您认为此行为会影响标准 Solaris 安装,请考虑在 vim-dev list 上提交错误

【讨论】:

  • 我是使用 Putty 的 Windows。 TERM 设置为 xterm。但是,我按照你的要求做了,并看到了可用 TERM 的列表。我使用了其中一个,但行为没有改变。我将 TERM 环境变量与工作的用户进行了匹配,没有任何区别。
  • 我会查询列表和/或提交错误;您的 solaris 可能正在使用 vim 未知的非默认终端代码。开发人员有可能确切地知道要添加什么。我不记得我的 OpenSolaris 盒子(nv147)有这个
  • 刚刚注意到您已修复它。我敢打赌是 libtermcap 什么的,但如果你不想知道,我不会抱怨 :)
猜你喜欢
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 2021-07-15
  • 1970-01-01
  • 2011-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多