Vim kelimelerinin bir listesini vurgulamalıyım, tercihen sözcükler bir dosyada tanımlanmalıdır. Yazım denetimi gibi biraz. http://vim.wikia.com/wiki/Highlight_multiple_words'a bakıyorum ama her kelimeyi yeni bir konum olarak tanımlamamı ve sözcükleri bir dosyaya depolamayı desteklememesini (depolanabilir olsalar bile) gerektiriyor.Vim kelimelerin bir listesini vurgulayın
cevap
:match
komutunu kullanabilirsiniz.
:match Todo /word1/
komutunun ilk parametre vurgulamak grubudur (tüm gruplar :highlight
görmek için). İkinci parametre bir arama modelidir.
Bunları herhangi bir dosyaya koyabilirsiniz ve :source
üzerinden yükleyin.
:match Todo /word1/
:2match Error /word2/
:3match Title /word3/
bunun için size syn keyword
kullanmak öneriyoruz:
:match Todo /word1\|word2\|word3/
Eğer farklı şekilde vurgulamak istiyorsanız:
bir başka yolu (thx @zpon) düzenli ifade değiştirmektir. michael.kebe ve syn match
tarafından önerildiği gibi :match
gibi başka seçenekler de vardır, ancak bunların hepsi düzenli ifade eşleşmelerine dayanmaktadır. Bunun dezavantajı, eşleştirmek istediğiniz kelimelerin sayısı arttıkça Vim hızının azalmasıdır. Anahtar kelime eşleşmeleri, çok daha hızlıdır. Ayrıca, bir satırdaki birden çok anahtar kelimeyi kolayca tanımlayabilirsiniz (bir satırda yaklaşık 512 karakterlik bir sınır olsa da, bellek doğru şekilde bana hizmet veriyorsa). Olması için
syn keyword Todo word1 word2 word3
syn keyword Todo word4
syn keyword Todo word5
herhangi dosyada şu satırları koyun ve
:source
onu veya
~/.vim/after/syntax/c.vim
nehre atarken
source
d otomatik olarak tüm C dosyaları (ilgilendiğiniz dosyası türleri için sözdizimi dosyasını almak) için.
michael.kebe 'un yanıtında olduğu gibi, ilk parametre (bu durumda Todo
) vurgulama grubudur. Eğer isterseniz kendi grubunuzu makyaj ve vurgulama tanımlayabilirsiniz:
syn keyword MyHighlightGroup word6 word7
" Then EITHER (define your own colour scheme):
hi MyGroupName guifg=Blue ctermfg=Blue term=bold
" OR (make the colour scheme match an existing one):
hi link MyGroupName Todo
Sözdizimi anahtar sözcük yönteminde herhangi bir kısıtlama var mı? Tex dosyamdan birinde herhangi bir etkisi yok gibi görünüyor, ancak diğer tüm dosyalarda – zpon
Bildiğim tek kısıtlamalar, sözcükteki karakterlerin hepsinin anahtar kelime karakterleri olması (yani '' 'veya diğer semboller) olması ve vim özel sözdizimi ile ilgili seçenek anahtar kelimelerinden ('içerir 'vb.) birini kullanamazsınız. Benim için kullanacağım eşek MyHighlightGroup/\
Bu garip, sadece "o" ve "orada" gibi normal kelimeler kullandım – zpon
: maç Todo/\ < \ (kelime1 \ | kelime2 \ | word3 \) \>/
- 1. Vim: Her filetype için TODO sözcüğünü vurgulayın
- 2. VIM:
- 3. çabuk bir ayraç karakteri ile ayrılırlar kelimelerin bir listesini bölmek istiyorsanız
- 4. Kod bloğunun bir kısmını vurgulayın
- 5. Bölme n kelimelerin bir diziye bir dize
- 6. Postgresql tam metin arama kelimelerin bir parçası
- 7. Dizgideki kelimelerin sayısı nasıl sayılır?
- 8. Bir koşul karşılandığında GridView satırını vurgulayın
- 9. VIM'de dizelerin bir listesini nasıl değiştirebilirim?
- 10. Yüce metin vurgulamayı vurgulayın 3
- 11. vim'de sadece ekran çizgisini vurgulayın?
- 12. TextView veya WebView'taki Metni Vurgulayın
- 13. Bir dosyada veya bazı aralıklarda görüntülenen kelimelerin sayısı yaklaşık olarak hesaplanır
- 14. Kelimelerin uzunluklarına göre gruplanması için redüktör kodu
- 15. Aynı kelimelerin çiftlerini MapReduce öğesinden çıkarma
- 16. Vim in vim
- 17. Vim, imleç Vim yılında
- 18. Bir klasörü açın ve WPF ile belirli bir dosyayı vurgulayın
- 19. Tridion Kategoriler - bir dropdown listesinde Anahtar kelimelerin varsayılan sıralamasını değiştirme
- 20. VIM
- 21. vim
- 22. Vim
- 23. Vim,
- 24. Vim
- 25. Vim
- 26. VIM
- 27. Vim
- 28. Vim
- 29. vim
- 30. Vim
Ben daha eklemek dosya için bir satırdan daha fazlası vurgulanmış olan son satırdır – zpon
Figür çıktısı,: eşleştir VisualNOS/word1 \ | word2 \ | word3/ – zpon
': match', ': 2match' ve': 3match' komutlarına sahipsiniz. Bunu yapmak için, ve böylece üç kalıpları saklayabilirsiniz. Ama ayrıca şunları kullanabilirsiniz: matchadd() '(': help matchadd() '). – Benoit