处理区域内的线条与否

时间:2017-07-08 20:16:26

标签: emacs elisp

我有N行,代码如下:

let aafdafa
let bfaf
let cb

我想将此代码翻译成:

let aafdafa = aafdafa.len();
let bfaf = bfaf.len();
let cb = cb.len();

replace-regexp无法选择, 我应该如何在emacs中解决这个问题?

2 个答案:

答案 0 :(得分:2)

这将是Emacs宏的任务:https://www.emacswiki.org/emacs/KeyboardMacros

宏是内置的强大功能,可记录和重复击键。你可以:

  1. 转到该行的开头
  2. 跳一个字(到var)然后把它拉出来
  3. 添加=
  4. 粘贴var
  5. 添加.len();
  6. 然后重复n次。

答案 1 :(得分:2)

replace-regexp适用于某个地区。即使没有,您也可以设置区域并执行narrow-to-region并对缩小的缓冲区进行操作。无论如何,正则表达式应该类似于let \(.+\) - > \& = \1.len(),其中\&表示整个匹配,\1表示第一组。