Одни из больших преимуществ Vim являются объектно-избранными, предлагая быстрое управление содержанием в словах, абзацах и различных разделителях.
Например,
vi{
выберет все в паре {} фигурные скобки.
Есть ли любая эквивалентная функциональность для выбора здесь документ или heredoc:
<<
На основе ответа ErichBSchulz я придумал следующее для heredoc внутреннего выбора:
nmap ?<<<w*kV?<<<j
?<<<w " find beginning tag (after <<<)
*k " find matching end tag and go up 1 line
V " enter visual mode
?<<<j " find beginning tag and go down 1 line
Для выбора heredoc'ов я обычно помещаю курсор в первую строку над идентификатором heredoc и нажимаю V *
V начнет выделение строки, а * начнет поиск, перейдя к следующему совпадению идентификатора, концу heredoc ...
A << ''
heredoc, заканчивающийся пустой строкой, легко, если вы уже в начале ( ? << ^ M ^ M
): v}
выбирает отсюда до пустой строки.
В противном случае, в вашем примере лучшее, что я могу придумать, это v / ^ HTML
.
Есть этот плагин, который позволяет вам определять ваши собственные текстовые объекты.
http://www.vim.org/scripts/script.php?script_id=2100
Думаю, было бы неплохо определить один, чтобы вы могли сказать «yih» (дергать в heredoc), чтобы вы не делали этого Я должен явно перейти к началу.
Заметьте, я сам с этим не дурачился.
Если вам просто нужен визуальный выбор, вы можете.
nnoremap <leader>ih ?HTML<cr>V/HTML<cr>