Я знаю
di<
удалит сам тег HTML.
Есть ли простой способ удалить текст между двумя тегами?
<span>How can I delete this text?</span>
Спасибо!
dit
удалит текст между соответствующими тегами XML. ( it
для "внутреннего блока тегов".)
Смотрите :h it
и :h tag-blocks
.
cit
когда вы хотите написать сразу после этого.vat
(илиvit
) с последующим повторениемat
(илиit
) для постепенного выбора окружающих тегов. (Илиv2at
и т. Д.). Затемd
удалить (и т. Д.).Две из лучших команд активации производительности vim.
Я экономлю много времени и усилий только с этими двумя.
источник
cit
рассматривается в этой теме, но для потомства,ci"
удалит до следующего"
найденного. отлично подходит для изменения имен классов в html-тегах, например<span id="really long annoying-id">
- сначала с помощью курсора"
, нажимайтеci"
и вставляйте новые символы между кавычками.ciw
также полезно, поскольку удаляет текущее слово; Я использую это больше, чемcit
и наci"
самом деле.ci"
фактически удалит текст слева до следующей цитаты и справа до следующей цитаты, а затем перейдет в режим вставки.ct"
на самом деле это команда "удалить до следующего" найдено ". Но да, она ведет себя так же, если курсор находится под левойпопробуйте dt <, когда курсор находится на первом символе для удаления. В вашем примере буква «Н».
источник
( курсор на первый символ для удаления ) v / <[enter] d
Это решение начинается с первого символа, затем переходит в визуальный режим («v»). Затем выполняется поиск следующей стартовой скобки ("/ <"), а затем нажмите клавишу ввода, чтобы выйти из поиска.
На этом этапе ваш визуальный выбор будет охватывать текст для удаления. нажмите d ("d"), чтобы удалить его.
Если бы мне пришлось сделать это для нескольких тегов, я записал бы команду и объединил бы ее с некоторыми другими поисками, чтобы сделать ее повторяемой. Последовательность клавиш может выглядеть так:
[ курсор в начале файла ] qa /> [enter] lv / <[enter] dnq
затем нажмите:
20 @
сделать это для 20 тегов
источник
c/<[enter]
в своей «жизни Vim», но теперь я немного сожалею об этом. Видите ли, большинство плагинов "Vi-mode" для популярных других редакторов / IDE не поддерживают этот конкретный тип команд. Они поддерживаютcit
,ci"
,ct<
и тем не менее. Итак, я снова преподаю.Если вы хотите удалить текст между флагами в обратном порядке, я предлагаю установить Vim-Surround и запустить,
dst
который удаляет тег объемного звучания.источник