Я пытаюсь выбрать целую секцию XML CDATA с VIM. Для тех, кто не знаком с XML, раздел CDATA выглядит следующим образом:VIM: Сценарий выбора всего раздела CDATA
<someTag><![CDATA[
This text is escaped in a Character Data section!
Look, I can use <and> characters freely!
]]></someTag>
<anotherTag><![CDATA[More escaped text!]]></anotherTag>
Я попытался это отображение, чтобы визуально выбрать и дергать текст внутри секции CDATA, но оказывается, что вызов функции отключает визуальный выбор:
inoremap <F9> <Esc>:call searchpair('<!\[CDATA\[', '', ']]>', 'b')v:call searchpair('<!\[CDATA\[', '', ']]>')y
Есть ли способ выбрать весь раздел CDATA? Это то, что я использую для выбора методов на языках C, для справки:
inoremap <F7> <Esc><C-V>aBy
Спасибо.
Большое спасибо, это 99% от того, что мне нужно! Я не осознавал необходимость в символах ''. Однако это сопоставление также выбирает ведущий '
dotancohen
@dotancohen обновленный ответ – sehe
Спасибо. Он по-прежнему ловит '' '' '' '' '(даже по-разному для многострочных и однострочных разделов CDATA), это можно увидеть' x' в выбранном тексте. Сейчас я читаю о сопоставлении типов операторов, о которых я никогда не слышал. Благодарю. – dotancohen