Hiển thị tab danh sách dưới dạng khoảng trắng


14

Tôi sử dụng listlistcharsđể hiển thị khoảng trắng của mình, nhưng kiểu mã tôi tuân thủ sử dụng các tab. Nhìn thấy >hoặc ^Icho tất cả các tab của tôi là buồn nôn.

Làm cách nào để giữ tất cả các ký tự danh sách hiện có của tôi nhưng với một ký tự tab trống?


2
Lưu ý rằng đặt khoảng trắng dưới dạng tab có nghĩa là bạn sẽ không thể phân biệt giữa các khoảng trắng và tab hoặc xem các tab ở những nơi khác (như bên trong một chuỗi, cuối dòng). Nó đánh bại mục đích của set list;-) Một số nhân vật (nhỏ hơn) khác mà bạn có thể thử: ·(TRUNG GIAN DOT), (HỘP MỞ) hoặc (SUBSCRIPT MINUS). (Cá nhân tôi sử dụng set listchars=tab:!·:).
Martin Tournoij

@Carpetsmoker đúng. Đây là lý do tại sao tôi có một kẻ nói dối. :) Dấu chấm than có thể không quá tệ, tôi cho rằng tôi có thể chơi xung quanh với họ.
Qix - MONICA ĐƯỢC PHÂN PHỐI

1
Như một lưu ý đáng giá, tôi thực sự đã sử dụng một mũi tên nhỏ cho các tab của mình. Không xâm phạm.
Qix - MONICA ĐƯỢC PHÂN BIỆT

Câu trả lời:


23

'listchars'mất hai ký tự tabđể bạn chỉ cần sử dụng hai khoảng trắng thông thường:

set listchars=tab:\ \ ,trail:·,eol:¬,nbsp:_

1
Không biết bạn có thể làm gì \ , mặc dù điều đó có ý nghĩa vì bạn có thể tìm kiếm với họ ( /\ ). Tôi đã cố gắng \s, ' 'v.v.
Qix - MONICA ĐƯỢC PHÂN PHỐI

3

Hóa ra không gian không phá vỡ hoạt động tốt.

Theo câu trả lời này , chuỗi utf-8 là "\xc2\xa0".

Vì tôi đang dùng mac, tôi chỉ cần làm echo -en "\xc2\xa0" | pbcopyvà sau đó thêm chúng vào .vimrc :

set listchars=tab:[2p],...

nơi [2p]dán clipboard hai lần. Kết quả cuối cùng là

set listchars=tab:<nbsp><nbsp>,...

mà chính xác gây ra các tab hiển thị dưới dạng khoảng trắng đơn giản.


2
Đó là rất nhiều rắc rối khi bạn có thể làm set listchars=tab:\ \ ,....
romainl

1
@romainl sau đó đưa ra câu trả lời :)
Qix - MONICA ĐƯỢC PHÂN BIỆT
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.