O Vim é um corretor ortográfico em arquivos XML onde eu não quero, e somente lá

1

Estou tentando usar a verificação ortográfica interna do Vim em alguns documentos XML. Isso acontece apenas com a sintaxe XML carregada, como mostra o seguinte exemplo minimalista (que reproduz o que também vejo em grandes documentos XML):

Observeque,dadodoisbufferscomexatamenteomesmoconteúdo,quandoFiletypeétext,averificaçãoortográficafunciona;quandoéxml,issonãoacontece.spellestádefinidonosdoisbuffers.

Noentanto,dadaessavisãodastrêsprincipaislinhasdeumgrandedocumentoXML,vocêpodeverqueaverificaçãoortográficaestácorreta:

mas está apenas verificando atributos.

O incômodo é que nenhuma das coisas que está realmente encontrando estão erradas, e não está encontrando nenhum dos numerosos erros de ortografia no documento. Eu gostaria que, no mínimo, encontrasse os erros de ortografia no corpo do documento, e ser capaz de desativar a verificação dos atributos seria uma boa opção.

Eu pesquisei @NoSpell no arquivo xml.vim , mas isso não retorna nenhum resultado.

    
por Kazark 14.11.2012 / 05:09

1 resposta

1

Esta pergunta do StackOverflow contém uma resposta parcial, que ativou a verificação ortográfica no corpo principal do documento. Eu coloquei isso na parte dos meus autocommands que inicializa meus arquivos XML:

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

O primeiro comando garante que a ortografia esteja ativada. A segunda é a correção parcial; o terceiro define um arquivo como /home/usr/.xml.utf-8.add como um arquivo para salvar palavras adicionadas ao dicionário de ortografia para arquivos XML UTF-8.

Como criei este arquivo específico para arquivos XML, se não tiver medo de fazer com que xsl represente um erro de ortografia real em outro local do documento, eu poderia adicionar isso ao dicionário, etc; e assim poderia ser uma resposta completa.

No entanto, descobri uma maneira melhor de desativar a verificação ortográfica nos atributos: alterando o @Spell associado aos atributos em xml.vim a @NoSpell (essas linhas estão próximas da parte superior do arquivo):

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

Juntos, esses dois conjuntos de comandos fornecem uma solução completa.

    
por 14.11.2012 / 05:09