Замена с помощью VIM, части повторного использования шаблона поиска

Поддержка RTL в Linux на самом деле довольно хороша. Насколько я могу сказать, что-либо, что можно было рассмотреть, "хороший текстовый редактор" также имеет поддержку RTL.

Я выбрал бы Вашего любимого редактора на основе других критериев, затем если это не очевидно, спрашивают, как включить поддержку RTL. Если Ваш основной системный язык установлен на регион RTL, большинство вещей, кажется, принимает значение по умолчанию к нему вполне прилично.

30
28.03.2012, 12:25
3 ответа

\0 целое соответствие. Для использования только части его, необходимо установить его как это и использовать \1

.s/(\([0-9]*\))/{\1}/

Более подробная инструкция можно найти здесь или в справке энергии.

40
27.01.2020, 19:38

Недавно я унаследовал унаследованный код и хотел заменить все вхождения , например:

print "xx"
print x,y
print 'xx'

на

logging.info("xy") 

или

logging.info(x,y)

На основе предыдущего ответа и в надежде, что кому-то будет полезно it Я использовал следующую команду, которая изменит все вхождения:

%s/print\( .*\)/logging.info\(\1\)/g

Если вы замените % на . и удалите / g , вы получите с

.s/print\( .*\)/logging.info\(\1\)

, который позволит вам просматривать каждое совпадение и выбирать, менять ли вы его или нет.

0
27.01.2020, 19:38

Лучший способ просмотреть каждое совпадение — добавить «c» в конец кода, а не переходить от строки -к строке -

.
%s/print\(.*\)/logging.info\(\1\)/gc
0
27.01.2020, 19:38

Теги

Похожие вопросы