Vim + DocBook + орфография

03.11.2009

Для написания технической документации в формате DocBook я использую тот же инструмент, что и для написания любых других текстов или программного кода — Vim. Но столкнулся со следующей проблемой: по мнению разработчика синтаксиса XML-документов для Vim, проверка орфографии (aka spell check) в содержимом элементов — вещь ненужная. Что в моём случае не соответствует действительности.

У этой проблемы есть 2 простых решения. Первое — через жопу. Второе — почти через жопу:)

  1. Добавить в ~/.vimrc следующую строку:

    let g:vim_syntax_folding = 1

    Вообще то, этот параметр включает возможность «сворачивания» XML-элементов для более удобной работы с большими документами. При этом, если внимательно изучить код в файле $VIMRUNTIME/syntax/xml.vim, заодно включится проверка синтаксиса для содержимого элементов. И правда, включилась.
  2. Подкорректировать “коробочный” syntax/xml.vim небольшим патчем. Текст патча на всякий случай приведён ниже:
    --- xml.vim.orig	2009-11-03 10:33:05.000000000 +0300
    +++ xml.vim	2009-11-03 11:11:40.000000000 +0300
    @@ -196,12 +196,23 @@
         syn region   xmlTag
     	\ matchgroup=xmlTag start=+<[^ /!?<>"']\@=+
     	\ matchgroup=xmlTag end=+>+
    +	\ contained
     	\ contains=xmlError,xmlTagName,xmlAttrib,xmlEqual,xmlString,@xmlStartTagHook
     
         syn match   xmlEndTag
     	\ +</[^ /!?<>"']\+>+
    +	\ contained
     	\ contains=xmlNamespace,xmlAttribPunct,@xmlTagHook
     
    +    syn region   xmlRegion
    +	\ start=+<\z([^ /!?<>"']\+\)+
    +	\ skip=+<!--\_.\{-}-->+
    +	\ end=+</\z1\_\s\{-}>+
    +	\ matchgroup=xmlEndTag end=+/>+
    +	\ contains=xmlTag,xmlEndTag,xmlCdata,xmlRegion,xmlComment,
    +	\          xmlEntity,xmlProcessing,@xmlRegionHook,@Spell
    +	\ keepend
    +	\ extend
     endif

    Категории: Свободное ПО

Comments RSS

Оставить комментарий

Powered by WP Hashcash