Я сказал 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, я получаю некоторые странные ошибки в соответствии с отсутствующим цветом none:

Обнаружена ошибка при обработке функции AnsiEsc # AnsiEsc:

строка 527:

E254: Невозможно выделить цвет

Нажмите клавишу ВВОД или введите команду, чтобы продолжить

Я понятия не имею, откуда это исходит. Моей первой идеей был последний установленный плагин. Я удалил его, но ничего не изменилось. Затем я обошёл свой .vimrc, тоже безуспешно. Перемещение ~/.vimrc и ~/.vim для получения более или менее ванильного vim не помогло. Так что теперь я застрял.

:scriptnames не содержит AnsiEsc и поиск через find также не дал результата. Также grep ИНГ для него в папках, scriptnames сказали , чтобы содержать сценарии не производят матч.

Как избавиться от этого сообщения об ошибке? Что такое AnsiEsc (если?не? плагин vim), кто его использует и почему? Или как я могу узнать, почему vim загружает AnsiEsc и почему он имеет эту ошибку?

1 ответ1

0

Простой веб-поиск показал бы вам страницу плагина на vim.org. AnsiEsc - это плагин, который расширяет подсветку синтаксиса для интерпретации escape-кодов ANSI (что-то вроде ^[[01;42;31m). Терминалы Unix используют их для добавления текстовых атрибутов и цветов. Если вы фиксируете вывод какой-либо команды и открываете его в Vim, плагин может творить чудеса, хотя обычно его нужно запускать вручную с помощью :AnsiEsc .

Что касается ошибки: это может быть ошибка в плагине. Сначала я бы проверил последнюю версию, найденную на домашней странице автора. Или, если вы вообще не хотите этого, удалите его! Как? Ну, это зависит от того, используете ли вы менеджер плагинов. Если нет, просто удалите plugin/AnsiEscPlugin.vim и autoload autoload/AnsiEsc.vim и doc/AnsiEsc.txt из вашего ~/.vim/ каталога (или системного каталога, если он установлен для всех пользователей :scriptnames дает вам подсказку, где это).

Используете ли вы Vim "дистрибутив", как spf-13 и Janus? Они заманивают вас быстрой установкой и готовыми настройками, но вы платите цену за повышенную сложность (вам нужно понимать как схему загрузки Vim во время выполнения, так и произвольные соглашения о распространении) и негибкость (распределение может сделать некоторые вещи проще, а другие очень сложно). Vim невероятно настраиваемый, использование чужой настройки не имеет смысла.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .