1

Я пытаюсь использовать встроенную проверку правописания Vim в некоторых документах XML. Это происходит просто путем загрузки синтаксиса XML, как видно из следующего минималистического примера (который воспроизводит то, что я также вижу в больших документах XML):

проверка правописания текста, но не XML

Обратите внимание, что при наличии двух буферов с одинаковым содержимым, когда Filetype - это text , проверка орфографии работает; когда это xml , это не так. spell установлено в обоих буферах.

Однако, учитывая это представление о трех верхних строках большого XML-документа, вы можете убедиться, что проверка орфографии включена:

проверка орфографии, работающая с атрибутами

но это только проверка атрибутов.

Неприятность заключается в том, что ни одна из вещей, которые он на самом деле находит, не написана неправильно, и он не находит ни одного из многочисленных орфографических ошибок в документе. Я хотел бы как минимум найти орфографические ошибки в теле документа, и возможность отключить проверку атрибутов была бы хорошим вариантом.

Я искал @NoSpell в файле xml.vim , но это не возвращает хитов.

1 ответ1

1

Этот вопрос StackOverflow содержит частичный ответ, который включил проверку орфографии в основной части документа. Я поместил это в часть моих автокоманд, которые инициализируют мои XML-файлы:

set spell
syntax spell toplevel
let &spellfile=$HOME . "/.xml." . &encoding . ".add"

Первая команда гарантирует, что орфография включена. Второе - частичное исправление; третий задает файл, такой как /home/usr/.xml.utf-8.add в качестве файла для сохранения слов, добавленных в словарь правописания для файлов XML UTF-8.

Поскольку я сделал этот файл специфичным для файлов XML, если я не боюсь сделать так, чтобы xsl представлял фактическую опечатку в другом месте документа, я мог бы добавить это в словарь и т. Д .; и, таким образом, это может быть полный ответ.

Однако я нашел лучший способ отключить проверку орфографии для атрибутов: изменив @Spell связанный с атрибутами в xml.vim на @NoSpell (эти строки находятся в верхней части файла):

syn region  xmlString contained start=+"+ end=+"+ contains=xmlEntity,@NoSpell display
syn region  xmlString contained start=+'+ end=+'+ contains=xmlEntity,@NoSpell display

Вместе эти два набора команд обеспечивают полное решение.

фиксированный

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .