Вот что я делаю: я отражаю цвета Php следующим образом:
php создает выходные данные, содержащие escape-последовательности ANSI, которые окрашивают текст, когда он отображается через оболочку на моем терминале. Вы можете найти класс php и объяснение здесь .
Но если я отправлю свой вывод в файл и попытаюсь прочитать его с помощью vim, он не «цветной», я просто вижу специальные символы. Есть ли способ отобразить цвета, как они отображаются в оболочке?
Вывод терминала будет цветным, если содержимое файла будет отправлено «как есть» на терминал без каких-либо изменений. Тем не менее, vim и некоторые другие редакторы будут избегать метасимволов в тексте и вместо этого могут добавлять другие цветовые коды для подсветки синтаксиса, так что это не работает.
Попробуйте выгрузить файл в терминал с помощью cat
, это должно сработать. Некоторые простые редакторы или пейджеры, такие как less
, также могут работать.
Редактировать: Я не нашел способа, чтобы vim "проходил" через все коды перехода, но я нашел этот ответ , который связывает к этому скрипту vim , который анализирует escape-коды и использует подсветку синтаксиса vim для воссоздания цветовых кодов в выходных данных. Согласно его описанию, он должен делать именно то, что вы хотите (но я не проверял это).
Я просто нашел, что существует плагин Vim для контакта с символами ESC ASCI. Это называют 'Выделением Ansi'. Если Вы заинтересованы, посетите http://www.drchip.org/astronaut/vim/index.html#ANSIESC
, О, Вы испытываете необходимость для использования 'Vimballs' для распаковки ANSIESC.