2013-06-30 2 views

ответ

2

Что-то вдоль линий

:%s/<span style="[^"]*">\([^<]*\)<\/span>/\1/g 

должны сделать трюк. Я не совсем уверен, что вам нужно будет избежать скобок или нет.

(Спасибо Birei для экранирования)

+1

Вам нужно избежать скобок, чтобы создать группу 1, используемую как '\ 1'. Кроме того, с '%' range, 'vim' остановит команду, если замена не будет выполнена. Я не знаю, может ли это быть проблемой для OP, но использование ': g' может быть альтернативой этому. – Birei

-2
:%s/<span style="font-size: 1.1rem;">Lorem ipsum<\/span>/Lorem ipsum/g 

Благодаря

+1

Вовсе нет. Сначала вы забыли избежать '/' в '', тогда это не соответствует чему-либо, кроме« Lorem ipsum ». – Cyrille

+0

А я понимаю, что он соответствует только Lorem ipsum, я читаю просьбу слишком конкретно, возможно! Я добавил побег :) .. все равно будет работать, если вам нужно искать и заменять что-то конкретное, а не просто все с этим стилем диапазона. – Leoric80

3

, если вы хотите, чтобы удалить все <span ..> тегов и оставить содержание, вы можете:

:%s/<span[^>]*>\([^<]*\)<.*/\1/ 

если вы просто хотите, чтобы сделать замену на те <span.. с определенным style="..", вы можете просто скопировать <span style="font-size: 1.1rem;"> поместить его перед \([^<]*\).....

, если ваш файл в формате XML, и ваш ВИМ был вооружен XML-плагин, вы могли бы d o он с макросом (или :g), с плагином xml, <localleader>d удаляет окружающие теги и оставляет текстовое значение.

1

Чтобы добиться того же от нормального режима вы могли бы:

место курсор где-то между первой и последней скобкой парными тегами и копировать то, что внутри тега в регистр скажем p:

"pyit 

затем удалить всю пару тег:

dat 

, а затем вставить то, что в p регистре:

"pp 

Преимущество этого подхода в том, что он будет работать для всех парных тегов. Когда вы записываете макрос, вы можете избавиться от множества разных тегов, просто найдя тег и запустив макрос.

2

Вы можете использовать плагин vim surround на Tim Pope. он очень подходит для ваших нужд.

Surround.vim все о "окружение": скобки, скобки, кавычки , теги XML, и многое другое. Плагин обеспечивает сопоставления легко удаляет, изменяет и добавляет такие окружения парами.

http://github.com/tpope/vim-surround