Чи може Vim інтерпретувати термінальні кольори кодів втечі?


29

Багато програм CLI виводять текст, що добре виділяється. Хоча більшість з них перевіряє, чи йде вихід у файл, деякі включають термінальні коди евакуації. Мені подобається вихід з кодами евакуації, але перегляд цих файлів у Vim болісний.

Чи може Vim інтерпретувати ці коди евакуації в очікувані кольори? Якщо ні, то чи може Vim налаштовуватися на ігнорування цих кодів евакуації?

Відповіді:


28

Існують різні плагіни, які дозволяють переглядати кольори ANSI через коди евакуації:


Якщо ви хочете видалити всі коди евакуації, ви можете використовувати:

:%s/<1b>\[[0-9;]*m//g

Примітка: <1b>це не буквальний текст, це символ втечі, використовуйте Ctrl+, vа потім Escвставте його (він також може відображатися як ^[, залежно від displayналаштувань).

Або ви можете видалити їх sed; наприклад:

$ sed 's|\x1b\[[;0-9]*m||g' somefile | vi -

0

Якщо у вас досить сучасний vim, який має функцію + термінал, ви можете це зробити, :term cat somefileі ви отримаєте буфер з усіма інтерпретованими термінальними кодами.

Це може працювати краще для великих файлів, ніж, наприклад, Colorizer, який зробив мій vim незвично повільним, коли я дозволю його втратити на файлі 6000 рядків.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.