Vim: hiển thị nguồn cấp dữ liệu & trả lại vận chuyển


34

Làm cách nào tôi có thể hiển thị nguồn cấp dữ liệu dòng và / hoặc ký tự trả về vận chuyển trong vi / vim?

Tôi biết rằng set listhiển thị tất cả các ký tự khoảng trắng (?), Nó cũng thay thế các tab \ t vv (nhưng đó không phải là điều tôi muốn). Về cơ bản tôi chỉ muốn hiển thị một số ký tự nhất định như \ r (trên Debian cái này có vẻ là mặc định, tuy nhiên trên Gentoo thì khác).

Trân trọng

Câu trả lời:


16

Trong các phiên bản gần đây của Vim, có cài đặt 'listchars' cho phép bạn chỉ định những ký tự nào sẽ được sử dụng cho các ký tự EOL và TAB và cho các khoảng trắng ở cuối.

Bạn có thể:

set listchars=eol:$,tab:\[SPACE]\[SPACE]

... để hiển thị ký tự eol đặc biệt mà không bị sụp đổ tab (gõ một nhân vật không gian, không [, S, P, A, ...).

Tôi không biết bất cứ điều gì cụ thể về ký tự trả về trong cài đặt 'listchars', nhưng tôi nghi ngờ bạn có thể sử dụng cú pháp tô sáng cho việc này. Tôi nghĩ rằng hiển thị mặc định của các ký tự \ r là hiển thị chúng với phần tô sáng SpecialKey.

Vì vậy, tô sáng SpecialKey mặc định của các ký tự \ r, kết hợp với cài đặt 'listchars' như trên, sẽ gần với những gì bạn cần.

:highlight SpecialKey ctermfg=5

... Nếu bạn thích màu đỏ tươi.


Cảm ơn, listcharsđã giúp. Bạn có phiền để giải thích cho tôi làm thế nào để sử dụng SpecialKey? Tôi không thể tìm thấy bất kỳ thông tin hữu ích nào, vimdoc.sourceforge.net/htmldoc/syntax.html#hl- SpecialKey cũng không giúp được gì nhiều.
watain

SpecialKey là nhãn làm nổi bật cú pháp tích hợp cho bất kỳ ký tự nào được hiển thị "đặc biệt": ký tự điều khiển và tương tự. Nếu bạn nhập ": highlight SpecialKey", điều đó sẽ cho bạn biết những ký tự đó sẽ được hiển thị như thế nào.
njd

Khi tôi thử, set listcharstôi nhận được lỗi sau : E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]. Tôi đang sử dụng MacVim 8.0.596 (133)
Eliot

22

mở lại DOStệp văn bản đã định dạng trong UNIXformart:

:e ++ff=unix

bạn sẽ thấy ^M(\ r) ở cuối dòng.
nếu bạn muốn hiển thị ^Mở dạng hex:

:set dy=uhex

5

Thêm dòng sau vào .vimrctập tin của bạn :

set fileformats=unix

Điều này khiến vim chỉ hỗ trợ các tệp kiểu unix nguyên bản. Đối với các kết thúc dòng không phải là Unix, ký tự trả về vận chuyển \rsẽ được hiển thị rõ ràng trong vim dưới dạng ^M.


Thật không may, nó cũng không hiển thị ký tự nguồn cấp dữ liệu.
jpaugh
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.