Vim'de Gizli Karakterler Nasıl Görüntülenir?


54

Vim'i SADECE sekmeler veya boşluklar gibi gizli karakterleri görüntülerken bu karakterleri yazarken nasıl yapılandırabilirim? Dosya yazıldığında sekmelerin ve / veya boşlukların ">" veya "_" gibi özel karakterlerle değiştirilmesini istemiyorum.


1
Gösterecek yerlere kesinlikle ihtiyacınız var mı? Tipik bir çözüm kullanmaktır :set list. Bu, uzaylar dışındaki her şeyi alabilir .
Kris Harper,

Yanıtlar:


64

Komutları kullanabilirsiniz

:set listchars=eol:$,tab:>-,trail:~,extends:>,precedes:<
:set list

boşluk olmayan tüm karakterleri göstermek için. Yani boşluklar görünmeyen tek şey.

Kesinlikle işaretlenecek yerlere de ihtiyacınız varsa, daha az hoş bir şey denemeniz gerekir. Gibi bir şey

:%s/ /█/g

Tüm boşlukları blok karakteriyle değiştirir. O zaman yazmadan önce geri almanız gerekir. Yazma komutunuzu yeniden yazabilirsiniz

cmap :w :%s/█/ /g<CR>:w

Sadece bir öneri. Bunu henüz denemedim.


Yardım için teşekkürler; Öneriniz oldukça iyi çalışıyor. Ancak, belli dosyaları açtığımda bazen "> ---" (belirten sekme) gördüğümü farkettim. Sekme karakterlerinin yalnızca yazarken göstereceği şekilde yapmanın bir yolu var mı ?
dan0

@ dan0 Sadece ekleme modunda mı demek istiyorsun? Bilmiyorum. Bundan şüpheliyim. Bazı eşleme işlevlerini, ekleme moduna girdiğinizde, önce :set listcharskomutu çağıran ve hiçbir şey olarak ayarlayamayan, ardından ekleme modundan çıktığınızda tekrar çağırabilen bazı işlevler yapabilirsiniz . Fakat bunun için haritalar hakkında yeterli bilgim yok.
Kris Harper

@JonathanKomar "set nolist"
Vladislavs Dovgalecs

1
Kullanılması space:␣benim için iyi işler: :set listchars=eol:$,tab:>-,trail:~,space:␣
loxaxs

15

Vim'in daha yeni sürümleri boşluk da gösterebilir. (7.4.1689 vim üzerinde onaylandı).

:set list
:set listchars=tab:→\ ,space:·,nbsp:␣,trail:•,eol:¶,precedes:«,extends:»

4

Benim durumumda ben savaşmak zorunda nbsp ,

:set listchars=nbsp:☠,tab:▸␣
:set list

☠ yerine ␣ kullanabilirsiniz.

İşte yukarıdaki vim config'in "görünmez tuhaf" boşlukları vurguladığı ve ek olarak sekmeleri vurguladığı bir örnek (kırmızı renkli çünkü ben boşluk-boşluk vim eklentisini kullanıyorum)

İşte

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.