2015-10-22 2 views
-2

Мне нужно заменить символ шаблоном, но символы перед выбранным символом также необходимо заменить, используя функцию поиска и замены.Заменить символ и символы до и после текста с рисунком

Например, . необходимо заменить на 1/2, поэтому hugo.ignatz будет hug1/2gnatz.

Как мне это сделать?

+0

Hi. Не могли бы вы отредактировать сообщение и добавить какой-либо соответствующий код, который вы пробовали? Возможно, показывая, что вы пробовали с функцией поиска и замены? –

+0

Извините, к сожалению, я совершенно не знаком с Вимом, и вот уже около часа я искал команду, ничего не мог найти. – Streamline

ответ

2

Если я понял вас правильно, вы хотите этого?

:%s#.[.].#1/2#g 

это заменит x.y на 1/2

+0

Да! Спасибо :) Не могли бы вы объяснить мне, что делает каждая часть команды? Я совершенно не знаком с vim, так что вы также решили мою проблему с/в 1/2. Не знал, что вы тоже можете использовать #. Я предполагаю в. [.]. часть, точки вне скобок используются, чтобы сказать vim, чтобы заменить символы рядом с рисунком внутри скобок. – Streamline

+1

это регулярное выражение. '.' означает весь одиночный символ,' [.] 'означает литеральную точку. Прочитайте ': h: s' в vim для команды': s'. Таким образом, он заменяет 'anySingleChar + dot + anySingleChar' на' 1/2'. Если вы не знаете, что такое '[....]', я предлагаю вам прочитать некоторое руководство по регулярному выражению. @Streamline – Kent