Sublime Text:
AFAIR вы можете использовать несколько функциональных курсоры в ST, как:
«> find_all <,
puts
, то
ctrl+shift+l
(или что-то подобное тому, которое даст вам индивидуальный курсор для каждого выделенная линия), затем введите требуемые модификации типа (которые будут делать то же самое перемещение/ввод текста для каждой строки). «
Конечно, это не сработает с разными отступом и т. Я боюсь ...
VIM:
В
substitute
она должна выглядеть более или менее, как это:
:%s/puts(.\{-});/#ifdef SOMETHING\n &\n#endif/g
(хотя я не уверен, если что-то не нужно было бы избежать здесь)
в основном это означает:
%
- для всего файла
s
- заменитель
/first_part/second_part/
- заменить вхождение first_part
с second_part
g
- глобально - это значит, для каждой линии найден среди %
(весь файл)
и первая часть:
нормально: 'путы (', то не жадный (если вы не знаете, что это значит - google для него, действительно стоит знать) regex для любого персонажа, а затем normal: ');' который должен соответствовать вашим путы
и второй:
нормально: „#ifdef-то“, то символ новой строки, затем четыре пространства, то &
что означает „найденный образец“ (в основном это puts
ваш), то символ новой строки, то normal: '#endif'
Я написал это в верхней части головы, поэтому, пожалуйста, учтите, что некоторые вещи могут нуждаться в коррекции (ярлыки в ST или экранирование некоторых символов в формуле
substitute
).
Спасибо за понимание
Вы пробовали команду 'substitute' в vim? Или даже лучший инструмент 'sed'? – 4rlekin
Спасибо за подсказку, я сначала отправлю их по электронной почте – RNA
Если 'puts' - все однострочные выражения, тогда вы можете сделать что-то подобное в Notepad ++ (и я также предполагаю в ST2) ... Найти' (^ puts . *) 'и заменить все на # # iddef \ r \ n \ t \ 1 \ r \ n # endif'. Не забудьте включить режим регулярного выражения, если используете Notepad ++. – jbaums