2013-05-07 18 views
5
benim en büyük sürpriz, TeX çok satırlık açıklama sözdizimi için

için VIM sözdizimi renklendirme Yorumlar:satırlı TeX Files

\usepackage{verbatim} 
... 
\begin{comment} 
    I don't like this line anymore. Please don't print it. 
\end{comment} 

$VIMRUNTIME/syntax/tex.vim tarafından ele ve dolayısıyla bir yorum olarak renklendirilmiş değil/tanınmıyor. Pek çok insanın aradığını düşündüğümden eminim ki, etrafta bir çözüm bulabilecek bir VIM komut dosyası Guru var mı?

Teşekkür

VIM v7.3 VIM sözdizimi vurgulama üzerinde küçük bir arama (Oluşturmak gerekebilir beni ~/.vim/after/syntax/tex.vim eklenen neredeyse bütün çalışır bu kod satırı yazmak yardımcı

cevap

8

senin ~/.vim dizinde dizin):

syn region texComment start="\\begin{comment}" end="\\end{comment}" 

Benim tek sorun o açıklama env bitmeden sona dosya-karşılaşırsa eşleştirme devre dışı bırakma bulamıyor olmasıdır ironment. Herkesin bir işi var mı?

Not: Bu komut ne Lateks beri iyi bir şeydir iç içe, desteklemez ve büyük olasılıkla olacak eşsiz \end{comment}

+0

Bölge başlangıcı, olası bir son maçtan bağımsızdır, bu da soruna neden olur. Ama bu oldukça karanlık bir köşe değil mi ?! –

+2

Orijinal sözdizimini değiştirmek yerine, '~/.vim/after/syntax/tex.vim' satırına yazmanız yeterlidir. –

+0

@IngoKakat: '/ after/syntax' daki hassasiyet için teşekkürler. İlk yorumunuzla ilgili olarak, "syn region texComment start ="/\\ begin {comment} \ _. * \\ end {comment}/"end =" \\ end {comment} "gibi şeyler denedim ama fondamental problem, eğer bitiş modeli, başlangıç ​​deseninde eşleşiyorsa (kontrol edilmesi zorunlu olan), son modelde tekrar eşleştirilememesidir. [VIM Dokümanı] 'dan (http://vimdoc.sourceforge.net/htmldoc/syntax.html): son modelin eşleşmesi, başlangıç ​​deseni ile hiçbir zaman örtüşmeyecektir. –

2

Orada kod (multiline comment bakınız) Yorum yapmak nasıl daha fazla seçenek vardır, bu nedenle bu içeriktir benimki ~/.vim/after/syntax/tex.vim:

syn region texComment start="\\begin{comment}" end="\\end{comment}" 
syn region texComment start="\\iffalse" end="\\fi" 
syn region texComment start="\\ifx true false" end="\\fi"