Vim có thể giải thích mã thoát màu thiết bị đầu cuối?


29

Nhiều chương trình CLI xuất văn bản được tô sáng độc đáo. Trong khi hầu hết trong số họ kiểm tra xem đầu ra có vào một tệp hay không, một số bao gồm mã thoát thiết bị đầu cuối. Tôi thích đầu ra với mã thoát, nhưng xem các tệp này trong Vim là đau đớn.

Vim có thể giải thích các mã thoát này thành các màu dự kiến ​​không? Nếu không, Vim có thể được đặt để bỏ qua các mã thoát này không?

Câu trả lời:


28

Có nhiều plugin khác nhau cho phép bạn xem màu ANSI thông qua mã thoát:


Nếu bạn muốn xóa tất cả các mã thoát, bạn có thể sử dụng:

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

Lưu ý: không phải<1b> là văn bản bằng chữ, nó là ký tự thoát, sử dụng + theo sau để chèn nó (nó cũng có thể hiển thị dưới dạng , tùy thuộc vào cài đặt của bạn ).CtrlvEsc^[display

Hoặc bạn có thể loại bỏ chúng với sed; ví dụ:

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

0

Nếu bạn có một vim đủ hiện đại có tính năng + terminal, bạn có thể làm :term cat somefilevà bạn sẽ nhận được một bộ đệm với tất cả các mã đầu cuối được diễn giải.

Điều này có thể hoạt động tốt hơn trên các tệp lớn hơn, ví dụ như Colorizer, điều này làm cho vim của tôi chậm một cách bất thường khi tôi thả nó trên tệp 6000 dòng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.