2012-11-08 19 views
5

expandtab seçeneği ayarlanmışken vim vurgusu sekme karakterlerini belirli bir renkle vurgulamak, ancak yalnızca bir reçete var mı? 'listchars' hakkında biliyorum, ancak bir "geçersiz sekme" den "geçerli bir sekme" ayırt etmek istiyorum.Genişletme ayarlandığında vim içindeki sekmeleri vurgula

Böyle, :autocmds dayalı sekme karakterleri için özel bir :match ekleyebilir
+0

"Geçerli" veya "geçersiz" sekmesi nedir? – romainl

+0

"Geçersiz", belki de güçlü bir sözcük ... Bir dosyada, girinti için sekme kullanmayan bir sekmeyi kastediyorum. 'Expandtab' kullanma şeklim, her zaman dosya girinti ayarları ile eşleşir. –

cevap

4

:

autocmd WinEnter,VimEnter * 
\ if &expandtab | 
\  silent! call matchadd('Error', '\t', 10, 31337) | 
\ else | 
\  silent! call matchdelete(31337) | 
\ endif 

(. Kolaylık olması açısından, bu kodlanmış kimliğini kullanır)

Alternatif olarak, bir kullanabilirsiniz arabellek ve ayarlarının tutarsız girintilemesini ve uyumsuzluklarını denetleyen benim IndentConsistencyCop gibi eklenti ve varsayılan olarak yanlış satırları vurgular. (Eklenti sayfasının alternatif eklentilere bağlantıları vardır.)