Команды VIM Unix напечатаны в цвете - PullRequest
7 голосов
/ 25 мая 2011

Я использую MacVim и хотел бы, чтобы команды ! были напечатаны в цвете.Например:

В bash следующий оператор echo печатает Hello World зеленым цветом (как и ожидалось):

$ echo -e "\033[32m Hello World" 
 Hello World

Однако в VIM вывод не цветной, а escape-кодынапечатано:

:!echo -e "\033[32m Hello World" 
 [32m Hello World

Как можно, чтобы VIM (и в частности MacVim build 57) печатал вывод команд ! и соблюдал цветовые экранирования ANSI.

Ответы [ 5 ]

4 голосов
/ 25 мая 2011

Вы не можете.Но вы можете приостановить работу редактора и относительно быстро перейти в оболочку;

Или вы можете использовать Ansi Filter, чтобы удалить escape-последовательности, так что вы по крайней мере неувидеть беспорядок.

3 голосов
/ 25 мая 2011

это:

:!echo $(tput setaf 1)Hello world$(tput sgr0)

напечатает Hello world в цвете.

Не используйте escape-последовательности, но именованные записи tput. (все время, не только в этом примере). следующим образом:
человек теминфо; инфо-человек; man tput - для получения дополнительной информации.

основываясь на комментариях, я нашел этот вопрос очень интересным.

Все еще в поисках лучшего решения, но пока найдите это - http://code.google.com/p/conque/. Разрешить запускать цветные команды внутри буфера MacVim.

2 голосов
/ 27 мая 2012

Не знаю, поможет ли это, но выполнение моих тестов RSpec внутри vim дает мне цветной вывод с использованием опции --color. Я использую следующую команду для запуска текущего специфицированного файла:

:map ,t :w\|:!rspec --color %<cr>

1 голос
/ 20 сентября 2012

Если вы запускаете macvim в режиме консоли (vim, а не mvim) все:!Команды перенаправляются в оболочку и выполняются там.Они берут все окно вместо 1/3 и используют любую тему вашей консоли.

Но вы получаете анциколоры.

0 голосов
/ 28 мая 2012

Ваш вопрос (и его всплывающее окно сделано @avocade) касался проблемы, с которой я столкнулся при печати в моем плагине aurum, поэтому я написал (начал писать, но самая важная часть функциональности уже здесь)1001 * ansi_esc_echo плагин.Чтобы использовать его в своем, вы должны установить его, установить frawor и сделать

execute frawor#Setup('0.0', {'autoload/ansi_esc_echo': '0.0'})
call s:_r.ansi_esc.echo("\e[33mabc")

.В настоящее время он имеет дело только (говоря исключительно о специальных символах или последовательностях) с возвратом каретки, возвратом (без проверки), символом табуляции, новой строки и CSI.

...