vim 抱怨 AnsiEsc 中的颜色为无#AnsiEsc

vim 抱怨 AnsiEsc 中的颜色为无#AnsiEsc

我告诉 Mercurial 使用 vim 作为默认编辑器:

[ui]
editor = /opt/local/bin/vim

引用的 vim 是通过 MacPorts 安装的:

$ port installed | grep vim
  vim @8.0.0596_0+huge (active)

当在命令行上调用 vim 时,我也会到达通过 MacPorts 安装的那个:

$ which vim
/opt/local/bin/vim

当我想使用 Mercurial 对文件进行差异分析时,我根据缺少的颜色无收到一些奇怪的错误:

处理函数 AnsiEsc#AnsiEsc 时检测到错误:

第 527 行:

E254:无法分配颜色无

按 ENTER 或输入命令继续

我不知道这是怎么回事。我的第一个想法是最后安装的插件。我删除了它,但什么也没改变。然后我在我的 .vimrc 中四处寻找,也没有成功。移动 ~/.vimrc 和 ~/.vim 以获得或多或少原始的 vim 也没有帮助。所以现在我陷入困境。

:scriptnames不包含 AnsiEsc,通过查找也没有结果。在指定包含脚本的文件夹中查找find也没有结果。grepscriptnames

如何消除此错误消息?AnsiEsc 是什么(如果不是,则为 vim 插件),谁使用它以及为什么使用它?或者我如何找出 vim 加载 AnsiEsc 的原因以及为什么会出现此错误?

答案1

一个简单的网络搜索就可以让你找到vim.org 上的插件页面安西Esc是一个扩展语法高亮以解释的插件ANSI 转义代码(类似于^[[01;42;31m)。Unix 终端使用这些来添加文本属性和颜色。如果您捕获某些命令的输出,并在 Vim 中打开它,插件就可以发挥它的魔力,尽管它通常需要通过手动触发:AnsiEsc

关于错误:这可能是插件中的一个错误。首先,我会检查在作者主页。或者,如果你根本不想要这个,那就卸载它吧!怎么做?嗯,这取决于你是否使用插件管理器。如果没有,只需从您的目录(或系统目录,如果为所有用户安装。会提示您它在哪里)中删除plugin/AnsiEscPlugin.vim和。autoload/AnsiEsc.vimdoc/AnsiEsc.txt~/.vim/:scriptnames

你使用的 Vim “发行版” 是这样的SPF-13雅努斯? 这些软件以快速安装和开箱即用的设置吸引您,但您需要付出代价,增加复杂性(您需要了解 Vim 的运行时加载方案和发行版的任意约定)和不灵活性(发行版可能会使某些事情变得更容易,但其他事情却非常困难)。Vim 具有极高的可定制性,使用其他人的定制毫无意义。

相关内容