vim & màu sắc từ Trình tự thoát ANSI: cách hiển thị trong vim cùng màu được hiển thị bằng lệnh cat


8

Đây là những gì tôi đang làm: Tôi đang lặp lại qua màu Php như thế này:

màu vỏ

php tạo đầu ra chứa các chuỗi thoát ANSI có màu văn bản khi nó được hiển thị thông qua trình bao trên thiết bị đầu cuối của tôi. Bạn có thể tìm thấy lớp php và giải thích ở đây .

Nhưng nếu tôi gửi đầu ra của mình đến một tệp và cố gắng đọc nó với vim thì nó không "có màu", tôi chỉ có thể thấy các ký tự đặc biệt. Có cách nào để hiển thị màu sắc giống như chúng được hiển thị trong vỏ không?


Nó có thể hữu ích nếu bạn có thể đề cập đến cách thức và chương trình bạn đang tạo tệp với văn bản có màu và cách sau đó bạn đang cố gắng hiển thị nó.
John S Gruber

Xin lỗi nếu tôi không đủ chính xác. Trích dẫn câu hỏi của tôi: Tôi đang lặp lại qua Php . Tức là " php -f filename" và tôi đang lặp lại bằng cách sử dụng lớp này ở đây: if-not-true-then-false.com/2010/ Kẻ
Olivier Pons

Câu trả lời:


8

Đầu ra của thiết bị đầu cuối sẽ được tô màu nếu nội dung của tệp sẽ được gửi "nguyên trạng" đến thiết bị đầu cuối mà không có bất kỳ sửa đổi nào. Tuy nhiên, vim và một số trình soạn thảo khác sẽ thoát các ký tự meta trong văn bản và thay vào đó có thể thêm một số mã màu khác để tô sáng cú pháp của chúng, vì vậy điều này không hoạt động.

Hãy thử đổ tập tin vào thiết bị đầu cuối với cat, điều này sẽ hoạt động. Một số trình soạn thảo đơn giản hoặc máy nhắn tin như lesscũng có thể hoạt động.

Chỉnh sửa: Tôi chưa tìm được cách để vim "vượt qua" tất cả các mã thoát, nhưng tôi đã tìm thấy câu trả lời này liên kết đến tập lệnh vim này, phân tích cú pháp mã thoát và sử dụng cú pháp tô sáng vim để tạo lại mã màu trong đầu ra. Theo mô tả của nó, nó sẽ làm chính xác những gì bạn muốn (nhưng tôi chưa thử nghiệm nó).


Có cách nào để làm điều này với vim (= chính xác không thoát)?
Olivier Pons

@OlivierPons xem bản chỉnh sửa của tôi
Philipp Wendler

Nó không hoạt động với ít hơn nhưng hoạt động với nhiều hơn: cat ~ / myfile.txt | thêm
wranvaud

Đó là loại kịch bản của tác phẩm. Đó là một vimball, vì vậy để cài đặt nó, gunzip nó ở đâu đó, sau đó trong vim ': source ansi.vba'. Nó xử lý rất nhiều lối thoát nhưng không phải tất cả - Một giải pháp khác là 'tên tệp ít hơn'.
matiu

0

Tôi chỉ thấy rằng có một plugin Vim để đối phó với các ký tự thoát ASCI. Nó được gọi là 'Ansi Highlighting'. Nếu bạn bị giới thiệu, vui lòng truy cập http://www.drchip.org/astronaut/vim/index.html#ANSIESC

Ồ, bạn sẽ cần phải sử dụng 'Vimballs' để giải nén ANSIESC.

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.