5
내 가장 큰 놀람 텍의 멀티 라인 주석 구문

에 대한 VIM에서 구문 색칠 댓글 :여러 줄은 TeX의 파일

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

$VIMRUNTIME/syntax/tex.vim에 의해 처리 따라서 주석으로 착색하지/인식되지 않습니다. 많은 사람들이 그것을 찾고있을 것이라고 확신하는 VIM 스크립팅 전문가가 해결책을 제시 할 수 있습니까?

감사

VIM의 V7.3 VIM 구문 강조에 작은 검색 (당신을 만들어야 할 수도 있습니다 나를 ~/.vim/after/syntax/tex.vim에 추가 거의 모든 작업을 수행하는 코드의 줄을 쓰기 도움

답변

8

당신의 ~/.vim 디렉토리에있는 디렉토리) :

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

내 유일한 문제는 그것이 코멘트 ENV의 끝나기 전에 파일의 마지막에 발생하면 매칭을 사용하지 않도록 설정하는 방법을 찾을 수 있다는 것입니다 다림질. 누구나 해결 방법이 있습니까?

NB :이 명령은 둘 라텍스부터 좋은 일이 중첩을 지원하지 않습니다 그리고 당신은 가능성이 가장 높은 것 타의 추종을 불허하는 \end{comment}

+0

지역 시작은 가능한 최종 일치와 관련이 없으므로 문제가 발생합니다. 그러나 이것은 다소 모호한 경우는 아니겠습니까?! –

+2

원본 구문을 수정하는 대신 줄을'~/.vim/after/syntax/tex.vim'에두기 만하면됩니다. –

+0

@IngoKakat :'/ after/syntax'의 정확성에 감사드립니다. 첫 번째 발언과 관련하여'syn region texComment start = "/ \\ begin {comment} \ _. * \ end {comment} /"end = "\\ end {comment}"'같은 것을 시도했지만 근본적인 문제는 끝 패턴이 시작 패턴 (그것이 존재하는지 확인하기 위해 필수적입니다.)에서 일치한다면, 끝 패턴에서 다시 일치시킬 수 없다는 것입니다. [VIM Doc] (http://vimdoc.sourceforge.net/htmldoc/syntax.html) : 끝 패턴 일치가 시작 패턴과 겹치지 않습니다. –

2

이 코드를 (multiline comment 참조) 의견을 어떻게 더 많은 옵션이 있습니다, 그래서 이것은 내용입니다 내 ~/.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"