Tampilkan tab listchars sebagai spasi

14

Saya menggunakan listdan listcharsuntuk menunjukkan spasi putih saya, tetapi gaya kode saya mematuhi menggunakan tab. Melihat >atau ^Iuntuk semua tab saya memuakkan.

Bagaimana cara saya menyimpan semua karakter daftar saya yang ada tetapi dengan karakter tab kosong?

Qix - MONICA DISEBUTKAN
sumber
2
Perhatikan bahwa mengatur spasi sebagai tab berarti Anda tidak akan dapat membedakan antara spasi dan tab, atau melihat tab di tempat lain (seperti di dalam string, di akhir baris). Ini semacam mengalahkan tujuan set list;-) Beberapa karakter lain (lebih kecil) yang dapat Anda coba: ·(MIDDLE DOT), (OPEN BOX) atau (SUBSCRIPT MINUS). (Saya pribadi menggunakan set listchars=tab:!·:).
Martin Tournoij
@Carpetsmoker benar. Inilah sebabnya saya punya makanan. :) Titik seru mungkin tidak terlalu buruk, saya kira saya bisa bermain-main dengan mereka.
Qix - MONICA DISEBUTKAN
1
Sebagai catatan yang layak, saya akhirnya menggunakan panah kecil untuk tab saya. Tidak mengganggu.
Qix - MONICA DISEBUTKAN

Jawaban:

23

'listchars'membutuhkan dua karakter tabsehingga Anda cukup menggunakan dua spasi reguler:

set listchars=tab:\ \ ,trail:·,eol:¬,nbsp:_
romainl
sumber
1
Tidak tahu Anda bisa melakukannya \ , meskipun masuk akal karena Anda dapat mencari dengan mereka ( /\ ). Saya mencoba \s, ' 'dll.
Qix - MONICA DISEBUTKAN
3

Ternyata ruang tanpa putus bekerja dengan baik.

Sesuai jawaban ini , urutan utf-8 adalah "\xc2\xa0".

Karena saya menggunakan mac, saya cukup melakukannya echo -en "\xc2\xa0" | pbcopydan kemudian menambahkannya ke .vimrc saya :

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

tempat [2p]menempelkan clipboard dua kali. Hasilnya akhirnya menjadi

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

yang dengan benar menyebabkan tab muncul sebagai ruang kosong sederhana.

Qix - MONICA DISEBUTKAN
sumber
2
Itu banyak masalah yang bisa kamu lakukan set listchars=tab:\ \ ,....
romainl
1
@romainl lalu buat jawaban :)
Qix - MONICA DISALAHKAN