Простая арифметика Emacs в запросе замены


8

Можно ли сделать следующее в emacs:

Запрос замените все числа в регионе на число + n, например, если у вас есть:

12 and 7 are nice numbers

пусть n будет 3, тогда оно должно преобразоваться в

15 and 10 are nice numbers

Ответы:


9

Да, это возможно, \&может использоваться в выражении замены для представления всего совпадения, аналогично \#&может использоваться для представления всего совпадения в виде числа.

Более конкретно:

Mx query-replace-regexp \b[0-9]+\bRETURN\,(+ 3 \#&)

И цитата из документации

Вы можете использовать выражения Lisp для вычисления частей замещающей строки. Для этого напишите '\,', а затем выражение в строке замены. Каждая замена вычисляет значение выражения и преобразует его в текст без кавычек.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.