Как выбрать контент HTML-тега в Vim?

43

Можно ли выбрать содержимое тега HTML в Vim?

Например:

<p>I am a silly butterfly</p>

Я хотел бы выбрать «Я глупая бабочка».

Я знаю, что вы можете использовать vi"для выделения текста внутри кавычек, скобок и т. Д. Проблема здесь в том, что текст внутри тегов HTML на самом деле не находится внутри того, для чего я могу использовать iфункцию.

fholgado
источник

Ответы:

68

Вы можете использовать, vitчтобы vфактически выбрать текст iна tаг. Видеть

:help v_it
garyjohn
источник
2
Отлично! Собираюсь написать сообщение об этом в своем блоге, я не могу найти что-либо в Google с "Vim, выбирающий содержание HTML-тега" и другие.
fholgado
Вы также можете заменить vмногими другими командами, которые я часто использую cдля cпередачи; >и <исправить отступы.
Dukedave
8
@ hobbes3: чтобы включить теги в выделение, используйте vat. Я думаю , itкак в теге и atв виде тега. См :help at.
garyjohn
1
Я единственный, чей vim выбирает открывающий тег vit? Это беспокоило меня годами, и я понятия не имею, почему Вим так поступает.
Джонатан Думайн
2
Обратите внимание, что вы также можете использовать оба несколько раз, например. vatat
user1338062 25.07.15
6

Вот шаги:

  1. Поместите курсор на тег.
  2. Войдите в визуальный режим, нажав v.
  3. Выберите внутренний блок тегов, нажав i+ t(или a+ tдля внешнего блока тегов).

at<tag> </tag>блок (с бирками)

it внутренний <tag> </tag>блок

Подробнее читайте в разделе « Как перейти между соответствующими тегами HTML / XML? ».

kenorb
источник
0

Если формат хорошо отступ, как это,

<div>
  <p>
    I am a silly butterfly
  </p>
  <p>
    I am a silly butterfly
  </p>
</div>

Вы можете использовать плагин vim-indent-object и набратьvii

foxiris
источник