Gibt es eine Möglichkeit, vim anzuweisen, einen Teil eines Latexdokuments nicht auf Rechtschreibprüfung zu überprüfen? Zum Beispiel Codeblock mit der minted
Umgebung oder URLs in \url{}
?
(Ich bin nicht sicher, ob es für die Rechtschreibprüfung relevant ist, aber ich verwende das vimtex- Plugin, um Latexdateien zu bearbeiten.)
spell-checking
plugin-vimtex
Grégoire
quelle
quelle
Antworten:
Sie können die Rechtschreibprüfung für Syntaxelemente deaktivieren, indem Sie sie zusammen mit einem Cluster hinzufügen
@NoSpell
. Sie können:help spell-syntax
einige Informationen lesen und sich Ihre Tex-Syntaxdatei ansehen, die höchstwahrscheinlich bereits mehrere Beispiele enthält. Wenn Sie eingeben:tabe $VIMRUNTIME/syntax/tex.vim
, sollten Sie die Tex-Syntaxdatei in einer neuen Registerkarte erhalten. Wenn Sie dann suchen, sehen/\c@NoSpell
Sie möglicherweise eine Zeile wieDer
texMathZoneGroup
Cluster wurde zuvor im Skript so definiert, dass er eine Reihe von Syntaxelementen enthält. Hier@NoSpell
wird er dem Cluster hinzugefügt, um die Rechtschreibprüfung für diese Elemente zu deaktivieren. Ich kann leider nicht genau sagen, wo die Änderung für Ihre speziellen Syntaxelemente am besten vorgenommen werden soll, da ich diese Syntaxdatei nicht sehr gut kenne. Möglicherweise gibt es bereits einen offensichtlichen Cluster, in dem Sie einfach hinzufügen können@NoSpell
, oder Sie müssen möglicherweise einen Cluster erstellen, dercontains=
die betreffenden Elemente enthält. Es ist auch eine gute Idee, eine Kopie der Syntaxdatei in Ihrem Benutzer-Laufzeitverzeichnis zu erstellen und Ihre Änderungen dort anzuwenden, anstatt die verteilte Syntaxdatei zu ändern, oder Ihre Änderungen in einemafter/syntax/tex.vim
oder einem anderen Skript anzuwenden , das nach dem Laden der Syntaxdatei ausgeführt wird .Da Sie ein Plugin verwenden, enthält es möglicherweise Optionen für die Rechtschreibprüfung von Elementen. Ich benutze nicht,
vimtex
aber Karl Lervåg ist hier ziemlich aktiv und wenn Sie seine Aufmerksamkeit bekommen, könnte das für Sie antworten.quelle
vimtex
, nein. Es scheint jedoch sinnvoll zu sein, die Rechtschreibung in geprägten Umgebungen zu ignorieren, sodass ich das Plugin möglicherweise entsprechend aktualisieren kann. Danke für die nette Erklärung!syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpell
aber es scheint nicht zu helfen. Irgendein Vorschlag?Sie können z
~/.vim/after/syntax/tex.vim
. B. Ihre eigenen Syntaxregeln hinzufügen . Um die Rechtschreibprüfung in einem Befehl wie zu verhindern\url
, können Sie den folgenden Code verwenden:Hier
texStatement
undDelimiter
sind Gruppen, die vom internen Syntax-Plugin definiert werden, siehe:e $VIMRUNTIME/syntax/tex.vim
.Wenn Sie die obigen Befehle verstehen möchten, kann ich die folgenden Hilfeabschnitte empfehlen:
:h syn-match
:h syn-region
:h syn-spell
:h spell-syntax
quelle