Jak skonfigurować pisownię, aby ignorować niektóre środowiska w LaTeX

10

Czy istnieje sposób, aby powiedzieć Vimowi, aby nie sprawdzał pisowni w części dokumentu lateksowego? Na przykład blok kodu przy użyciu mintedśrodowiska lub adresów URL w \url{}?

(Nie jestem pewien, czy ma to znaczenie dla sprawdzania pisowni, ale używam wtyczki vimtex do edycji plików lateksowych).

Grégoire
źródło
1
Zobacz (także) to: vi.stackexchange.com/a/4003/1800
VanLaser
@Gregoire wspomniał również o tym pytaniu w vimtex / Issues / # 219 .
Karl Yngve Lervåg

Odpowiedzi:

10

Możesz wyłączyć sprawdzanie pisowni elementów składni, dodając je do klastra razem z @NoSpell. Możesz przeczytać :help spell-syntaxkilka informacji i spojrzeć na plik składni tex, który najprawdopodobniej zawiera już kilka przykładów. Jeśli wpiszesz :tabe $VIMRUNTIME/syntax/tex.vim, powinieneś otrzymać plik składni tex w nowej karcie. Jeśli to /\c@NoSpellzrobisz, możesz zobaczyć linię podobną do

 syn cluster texMathZoneGroup add=@NoSpell

texMathZoneGroupKlaster został zdefiniowany wcześniej w skrypcie zawierają szereg elementów składniowych i tutaj @NoSpelljest dodawany do klastra, aby wyłączyć sprawdzanie pisowni dla tych elementów. Obawiam się, że nie mogę dokładnie powiedzieć, gdzie najlepiej wprowadzić zmiany dla poszczególnych elementów składni, ponieważ nie znam tego pliku składni bardzo dobrze. Może istnieć oczywisty klaster, w którym można po prostu dodać @NoSpell, lub może być konieczne utworzenie klastra, którego dotyczy contains=dane elementy. Dobrym pomysłem jest również wykonanie kopii pliku składni w katalogu środowiska wykonawczego użytkownika i zastosowanie tam zmian zamiast zmiany rozproszonego pliku składni lub zastosowanie zmian w after/syntax/tex.viminnym skrypcie uruchamianym po załadowaniu pliku składni .

Ponieważ używasz wtyczki, może ona zawierać opcje związane z tym, które elementy są sprawdzane pod kątem pisowni. Nie używam, vimtexale Karl Lervåg jest tutaj dość aktywny i jeśli zdobędziesz jego uwagę, może odpowiedzieć na to za ciebie.

jjaderberg
źródło
Dzisiaj nie ma takich opcji vimtex, nie. Ale wydaje się, że sensowne jest ignorowanie pisowni w wybitnych środowiskach, więc mogę odpowiednio zaktualizować wtyczkę. Dzięki za miłe wyjaśnienie!
Karl Yngve Lervåg
Rozejrzałem się w kodzie i nie znalazłem istniejącego regionu dla wybitego środowiska, więc próbowałem stworzyć swój własny w ten sposób: syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpellale to nie pomaga. Jakieś sugestie?
Grégoire,
@ Grégoire Proszę, kontynuujmy tę dyskusję w kwestii vimtex .
Karl Yngve Lervåg
5

Możesz dodać własne reguły składniowe do np ~/.vim/after/syntax/tex.vim. Aby zapobiec sprawdzaniu pisowni wewnątrz polecenia, takiego jak \url, możesz użyć następującego kodu:

syntax match texStatement '\\command' nextgroup=texMyCommand
syntax region texMyCommand matchgroup=Delimiter start='{' end='}' contained contains=@NoSpell

Tutaj texStatementi Delimitersą grupy zdefiniowane przez wewnętrzną wtyczkę składni, patrz :e $VIMRUNTIME/syntax/tex.vim.

Jeśli chcesz zrozumieć powyższe polecenia, mogę polecić następujące sekcje pomocy:

Karl Yngve Lervåg
źródło