vim에게 라텍스 문서의 일부를 철자 검사하지 말라고 알려주는 방법이 있습니까? 예를 들어, minted
환경이나 URL을 사용하는 코드 블록 은 \url{}
?
철자 검사와 관련이 있는지 확실하지 않지만 vimtex 플러그인을 사용하여 라텍스 파일을 편집하고 있습니다.
vim에게 라텍스 문서의 일부를 철자 검사하지 말라고 알려주는 방법이 있습니까? 예를 들어, minted
환경이나 URL을 사용하는 코드 블록 은 \url{}
?
철자 검사와 관련이 있는지 확실하지 않지만 vimtex 플러그인을 사용하여 라텍스 파일을 편집하고 있습니다.
답변:
와 함께 클러스터에 구문 항목을 추가하여 구문 항목에 대한 맞춤법 검사를 비활성화 할 수 있습니다 @NoSpell
. :help spell-syntax
몇 가지 정보를 읽고 이미 몇 가지 예제가 들어있는 tex 구문 파일을 볼 수 있습니다 . 입력 :tabe $VIMRUNTIME/syntax/tex.vim
하면 tex 구문 파일을 새 탭에 가져와야합니다. 그런 다음 검색하면 다음 /\c@NoSpell
과 같은 줄이 나타날 수 있습니다
syn cluster texMathZoneGroup add=@NoSpell
texMathZoneGroup
클러스터는 문법 항목의 수를 포함하는 이전 스크립트에 정의 된 여기에 @NoSpell
이러한 항목에 대한 비활성화 맞춤법 검사를 클러스터에 추가됩니다. 구문 파일을 잘 모르기 때문에 특정 구문 항목을 가장 잘 변경할 위치를 정확하게 말할 수 없습니다. 추가 할 수있는 명백한 클러스터가 이미 @NoSpell
있거나 contains=
문제의 항목이 있는 클러스터를 만들어야 할 수도 있습니다 . 또한 사용자 런타임 디렉토리에 구문 파일의 사본을 작성하고 분산 구문 파일을 변경하지 않고 변경 사항을 적용 after/syntax/tex.vim
하거나 구문 파일이로드 된 후 실행되는 다른 스크립트에 변경 사항을 적용하는 것이 좋습니다. .
플러그인을 사용하므로 맞춤법 검사 대상과 관련된 옵션이있을 수 있습니다. 나는 사용하지 vimtex
않지만 Karl Lervåg는 여기에서 매우 활동적이며, 그의 관심을 끌면 그것에 대해 대답 할 수 있습니다.
vimtex
오늘날 에는 그러한 옵션이 없습니다. 그러나 민트 환경에서는 철자를 무시하는 것이 합리적이므로 해당 플러그인을 업데이트 할 수 있습니다. 좋은 설명 감사합니다!
syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpell
도움이되지 않는 것 같습니다. 어떠한 제안?
예를 들어, 고유 한 구문 규칙을 추가 할 수 있습니다 ~/.vim/after/syntax/tex.vim
. 와 같은 명령 내에서 맞춤법 검사를 방지하기 위해 \url
다음 코드를 사용할 수 있습니다.
syntax match texStatement '\\command' nextgroup=texMyCommand
syntax region texMyCommand matchgroup=Delimiter start='{' end='}' contained contains=@NoSpell
내부 구문 플러그인으로 정의 된 그룹은 다음 texStatement
과 같습니다 .Delimiter
:e $VIMRUNTIME/syntax/tex.vim
위의 명령을 이해하려면 다음 도움말 섹션을 권장 할 수 있습니다.