Есть ли способ сказать vim не проверять орфографию части латексного документа? Например, блок кода с использованием minted
среды или URL-адреса в \url{}
?
(Я не уверен, что это актуально для проверки орфографии, но я использую плагин vimtex для редактирования латексных файлов.)
spell-checking
plugin-vimtex
Грегуар
источник
источник
Ответы:
Вы можете отключить проверку орфографии для элементов синтаксиса, добавив их в кластер вместе с
@NoSpell
. Вы можете прочитать:help spell-syntax
некоторую информацию и взглянуть на свой файл синтаксиса tex, который, скорее всего, уже содержит несколько примеров. При вводе:tabe $VIMRUNTIME/syntax/tex.vim
вы должны получить синтаксический файл tex на новой вкладке. Если вы затем выполните поиск,/\c@NoSpell
вы можете увидеть строку вродеtexMathZoneGroup
Кластер был определен ранее в сценарии содержит ряд элементов синтаксиса и здесь@NoSpell
добавляется в кластер , чтобы отключить проверку орфографии для этих элементов. Боюсь, я не могу точно сказать, где лучше всего внести изменения для ваших конкретных элементов синтаксиса, поскольку я не очень хорошо знаю этот файл синтаксиса. Возможно, уже существует очевидный кластер, куда вы можете просто добавить@NoSpell
, или вам может потребоваться создать кластер,contains=
в котором находятся рассматриваемые элементы. Также неплохо сделать копию файла синтаксиса в пользовательском каталоге времени выполнения и применить туда свои изменения, а не изменять распределенный файл синтаксиса, или применить изменения в каком-after/syntax/tex.vim
либо или другом сценарии, который запускается после загрузки файла синтаксиса. ,Поскольку вы используете плагин, у него могут быть параметры, связанные с тем, какие элементы проверяются орфографией. Я не пользуюсь,
vimtex
но Карл Лервог здесь довольно активен, и если вы привлечете его внимание, вы можете ответить на этот вопрос.источник
vimtex
сегодня нет, нет. Но, кажется, имеет смысл игнорировать орфографию в чутких средах, поэтому я мог бы соответствующим образом обновить плагин. Спасибо за приятное объяснение!syn region mintedZone start="\\begin{minted}" end="\\end{minted}" contains=@NoSpell
но, похоже, это не помогает. Любое предложение?Вы можете добавить свои собственные правила синтаксиса, например
~/.vim/after/syntax/tex.vim
. Чтобы предотвратить проверку орфографии внутри такой команды, как\url
, вы можете использовать следующий код:Здесь
texStatement
иDelimiter
находятся группы, которые определены внутренним синтаксическим плагином, см:e $VIMRUNTIME/syntax/tex.vim
.Если вы хотите понять приведенные выше команды, я могу порекомендовать следующие разделы справки:
:h syn-match
:h syn-region
:h syn-spell
:h spell-syntax
источник