Macvim не отображает цвета в командной строке

Я не могу заставить macvim отображать цвет в моем терминале для огурца или rspec. Вывод выглядит следующим образом:

14[0m
    [32mGiven I have a post with name "[32m[1mSample Post[0m[0m[32m"[90m
            # features/step_definitions/posts_steps.rb:1[0m[0m
    [32mWhen I visit the homepage[90m                               
/step_definitions/posts_steps.rb:5[0m[0m 

Любая помощь будет оценена


person Sam    schedule 08.10.2014    source источник


Ответы (1)


Это последовательности ANSI, а не что-то конкретное для огурца или rspec. Ваши файлы захвачены выходными данными инструментов, которые предполагают, что они пишут на консоль (которая интерпретирует эти последовательности). Вим обычно этого не делает. Для этого есть плагин.

person Amadan    schedule 08.10.2014
comment
Этот плагин AnsiEsc.vim ничего не делает в MacVim 7.4. При просмотре вывода команды, запущенной с !, я все еще вижу последовательности ANSI, но не цвета. Также нет никаких изменений при просмотре файла .txt, содержащего управляющие последовательности ANSI. Это было с загрузкой только этого плагина, а остальные мои vimrc закомментированы. Я вижу раскрашенный вывод команды только при запуске команды с ! в Терминале (не MacVim) — и это происходит, даже если AnsiEsc.vim не установлен. - person Rory O'Kane; 27.10.2014
comment
@RoryO'Kane: отлично работает в моем MacVim, если используется в соответствии с документацией. Вы использовали команду :AnsiEsc для содержимого буфера? Если вы хотите, чтобы он применялся автоматически, вам нужно установить для него автокоманду; и если вы хотите показать его на выходе !, сначала запишите его в буфер. - person Amadan; 27.10.2014
comment
@RoryO'Kane: Или вы не могли пропускать данные через фильтр (:!), как описано здесь. - person Amadan; 27.10.2014
comment
Ах, проблема в том, что я никогда не запускал :AnsiEsc — я читал AnsiEsc.vim README, но не его документы. Так что, похоже, я могу использовать :read!, чтобы вставить вывод команды, а затем выделить этот вывод с помощью :AnsiEsc, но по вашей ссылке невозможно автоматически выделить вывод в обычном командном окне. - person Rory O'Kane; 27.10.2014
comment
@RoryO'Kane: Да, я считаю, что это правильно (поскольку Vim назначает вывод TERM=dumb :!, поскольку он должен быть просто фильтром). - person Amadan; 27.10.2014