是否处理区域中的线

handle lines in region or not

我有 N 行代码如下:

let aafdafa
let bfaf
let cb

我想将这段代码翻译成这样:

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

replace-regexp 不适用于选择, 我该如何解决 emacs 中的这个任务?

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

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

  1. 转到行首
  2. 跳一个词(到 var)然后猛拉它
  3. 添加一个=
  4. 粘贴变量
  5. 添加.len();

然后重复n次。

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