Отображение нежелательных управляющих символов в выходных данных функции vimscript - PullRequest
3 голосов
/ 31 марта 2012

[с использованием MacVim 7.3 на OS X Lion]

У меня есть функция vimscript, которая запускает внешнюю команду. Он работает правильно, но на выходе отображаются (нежелательные) управляющие символы, такие как [0m, [33m, [36m и -1H. Соответствующая строка в функции vimscript:

exec ":!bundle exec rspec --color " . a:filename

Который производит:

:!bundle exec rspec --color spec/acceptance/user_logs_in.feature
[33m*[0m

Pending:
[33m  User logs in [0m
[36m    # the step 'the user "foo@test.host" exists' is not implemented[0m
[36m    # [0m

Finished in 0.07121 seconds
[33m1 example, 0 failures, 1 pending[0m

Вот как выглядят те же команды и выходные данные из терминала, как я хочу, чтобы они отображались в vim:

$ bundle exec rspec --color spec/acceptance/user_logs_in.feature
*

Pending:
  User logs in
    # the step 'the user "foo@test.host" exists' is not implemented
    #

Finished in 0.1161 seconds
1 example, 0 failures, 1 pending

Кроме того, каждый раз, когда я выполняю внешнюю команду, vim отображает -1H сразу после нее. Например, если я наберу:

:ls<return>

Понятно:

:ls-1H
<rest of the output is as expected>

Любые идеи о сокрытии этих управляющих символов и -1H.

(отказ от ответственности: я новичок в vim, поэтому, пожалуйста, не принимайте слишком много базовых знаний с моей стороны.)

Спасибо.

Обновление 31.03.2012 @ 17:32

Сэм Голдман правильно: MacVim не умеет отображать цвета, поэтому выводит цветовые коды.

Я переключился на терминал vim (который поддерживает цвета, по крайней мере, с iTerm ), но использую версию vim, которая поставляется с MacVim, которая является более современной и компилируется с Рубиновая поддержка (между прочим). Самый простой способ сделать это:

brew install macvim --override-system-vim 

1 Ответ

3 голосов
/ 31 марта 2012

MacVim не знает, как отображать цвета. Terminal vim будет правильно отображать цвета, или вы можете добавить --no-color в вашу команду rspec (или файл .rspec). Я не уверен насчет -1H. Может быть, у вас есть настройки для вашего терминала?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...