Die Vim-Rechtschreibprüfung ist codebewusst. Es verwendet die Syntaxdatei, um die Rechtschreibprüfung für die Teile zu deaktivieren, bei denen dies normalerweise keinen Sinn ergibt.
Gelegentlich möchte ich dies jedoch überprüfen. Beispiele umfassen Markdown-Codeblöcke, HTML-Attribute, Variablen- / Funktionsnamen usw.
Beachten Sie, dass ich * nicht nach einer filetypspezifischen Lösung suche, sondern nach einer generischen Lösung, die Vim auffordert, "nur die Rechtschreibprüfung durchzuführen".
Hinweis: Diese Frage wurde zuvor in SO gestellt , hat jedoch nur eine filetypspezifische Problemumgehung. Auch im Zusammenhang ist Wie kann ich die Rechtschreibung überprüfen in HTML - Attribute? ;; Dies ist auch eine datentypspezifische Problemumgehung.
quelle
:syn off
in der verknüpften Antwort erwähnte ist nicht filetypspezifisch und scheint der einfachste und einfachste Weg zu sein, dies zu tun.Antworten:
Wenn Sie möchten, dass dies etwas ist, das Sie ein- und ausschalten können (wie Sie durch "gelegentliches Schreiben" angedeutet haben), benötigen Sie wahrscheinlich ein Skript, mit dem alle
@Spell
und@NoSpell
Cluster aus den vorhandenen geladenen Syntaxelementen entfernt werden können. (Siehe:help spell-syntax
.)Eine Möglichkeit, dies zu implementieren, besteht darin
:redir
, die Ausgabe von einem Aufruf an:syntax
eine Datei umzuleiten und diese Datei dann zu analysieren, wobei alle darin enthaltenen Syntaxelemente zurückgesetzt werden, aber Verweise auf@Spell
und@NoSpell
Cluster entfernt werden. Es ist auch möglich, die Ausgabe in eine Variable umzuleiten .Wenn Sie die Rechtschreibprüfung überall dauerhaft aktivieren möchten, ist es einfacher, ein Skript zu schreiben, um die Cluster aus den tatsächlich installierten Syntaxdateien zu entfernen.
Wenn Sie jedoch eine sauberere Lösung wünschen, müssen Sie Vim selbst bearbeiten.
quelle
Ich habe Bash-Skript zur Korrektur von Syntaxdateien erstellt. Es ist nicht perfekt, aber es ist gut. Es kann durch erneutes Ausführen rückgängig gemacht werden. Es fügt
contains=@Spell
zusyn match
undsyn region
Definitionen in allen Dateien in bestimmten Verzeichnis.Um es zu benutzen:
Das Skript erstellt vor der Änderung eine Sicherungskopie aller Dateien, sodass Sie davon ausgehen können, dass die Ausführung sicher ist. Ich übernehme sowieso keine Verantwortung für mögliche Probleme, die durch das Skript verursacht werden.
Bearbeiten: Sie können dem Skript im folgenden Repository Feedback geben: https://github.com/dominikduda/config_files/blob/master/bin/fix_vim_syntax_files.sh
quelle
fix_syntax_files.sh
undfix_vim_syntax_files.sh
hier , welche scheinen gleich? Sie sind sich nicht sicher, zu welchem Link Sie den richtigen Link erstellen sollen?