2011-04-21 17 views
10

'u kullanmadan Showbreak Vurgulama rengini değiştirmek için "showbreak" sembolünün "NonText" renk öğesi ile vurgulandığı belirtildi. NonText ayrıca EOL Karakterleri için de kullanılır.
EOL karakterleri için vurgu rengini tutmak isterim ancak şov sembolü için değiştirmek mümkün mü?VIM: Nonnext Renk Öğesi

Başka bir sorun şovum sembolünün görüntülenmemesidir. Bu sembolü "↳" kullanmak ve keten kumaşı sütununa koymak (set cpoptions + = n kullanarak). Sembolün nasıl görüntüleneceğini ve şov sembolü (boşluk ve sembol arasında) sonra nasıl yer açacağını bulamıyorum.

Bana yardım eden var mı?

+0

Burada aynı sorun, bu eski bir soru olsa bile. Benim için, 'showbreak', 'cpoptions + = n': http://ell.io/k5A7 – ELLIOTTCABLE

cevap

6

EOL karakterinden farklı olarak vurgulama yapacağınızı sanmıyorum, en azından bunu yapmanın bir yolunun farkında değilim.

İkinci bölüm için yardımcı olabilirim. Ben elde edebilmek "↳" aşağıdaki ayarlarla benim hat numarası sütununda yukarı göstermekti: sonra bir boşluk vardır

let &showbreak = '↳ ' 
set wrap 
set cpo=n 

Not söyledi. Bu, dosyada> 9 satıra sahip oluncaya kadar güzelleşiyor. Eğer satır sayısına bakılmaksızın sayı sütununun son karakteri ile aynı çizgide olmasını istiyorsanız, ne yapmanız gerektiğinden emin değilim.

Düzenleme: Kısa bir süre önce farklı bir vurgu grubuyla sarılmış bir satırdaki ilk karakteri vurgulayan IRC'de bir kullanıcı için bir proof-of-concept function yazdım. Çok test edilmedi ama işe yarıyor gibi görünüyor. Tam olarak aradığınız şey değil ama belki de bir göz atmaya değer.

+0

' u kullanırken kullandığınız satır numaraları ile aynı renk olmadığında can sıkıcı bir durumdur. Komut satırında ilk satırı eklediğimde şunu görüyorum: 'set showbreak =? \' – Reman

+0

Vim içinde başka çokbaytlı karakterler girebiliyor musunuz? Vim --version’ın çıktısı "+ multi_byte" değerine sahip mi? –

+0

Yalnızca şu özelliklere dahil ettiğim ürünler: + multi_byte_ime/dyn + multi_lang. Kodlamam latin1. Bunu utf-8 olarak değiştirdiğimde, şov sembolü ekleyebilirim ama utf-8'de yazdıramıyorum. Utf-8 birçok (avrupa) dilde çok fazla sorun çıkarmaktadır. Utf-8'e kodlamayı değiştirmeden vim için + multi-byte eklemenin başka bir yolu var mı? – Reman

5

:help hl-NonText Eğer eol bir üyesi olduğu 'showbreak' dize ve diğer metin olmayan dizeleri, farklı renklere sahip olamaz oldukça açık ortaya koyuyor (:help 'listchars' bakınız):

metin olmayan

'~ 've' @ 'penceresinin sonunda' showbreak 'karakterleri ve metinde gerçekten bulunmayan diğer karakterler (örneğin, çift genişlikte bir karakter uç uca uymadığında görüntülenen ">" satırının).

Eğer hi! link NonText LineNr satır numarası renklerine 'showbreak' dize maç olacak (@elliottcable) bu sınırlamayı kabul etmeye istekli iseniz.

gerçekten zeki almak için bir uzlaşma olarak Bir eşleme oluşturmak veya ayrıca eş zamanlı ayarlama NonTexthighlight ayarlamak edeceğini ':set list' ila ':set nolist' geçiş yapmak için komut verebilir isteseydim.

sen (vim 7.3'de eklendi) :set relativenumber kullanırsanız, :set showbreak=↳\ \ \ güvenilir tutacak ana 'showbreak' düzgünce dosyaya gezinirken değişmeyecek sayı genişliği beri dizilmiş. (Bu :set cpo+=n ve :set wrap @Randy Morris ek olarak onun cevabını sözü.) Diğer kodlamalar görünmüyor beri

Kesinlikle, karakter için UTF-8 gerekir.Kodlama sorunlarınızı, işletim sisteminizle, sürümünüzle ve :version vim çıktısıyla nasıl çoğaltılacağınızı ve bunları ayrı sorular olarak yayınlamanızı önemle tavsiye ederim. UTF-8, no'lu numaralı telefona yardım etmeli, bir engel olmaktan çok, birden fazla dilinizle karşılaşacaksınız.

+0

(bir partide geç) '' showbreak '' gibi '' Ufuk '' fontları için nerd yazı tiplerinden unicode karakterlerin kullanılıp kullanılamayacağını merak ediyorum. Yani, mümkün mü? – ddnomad