Emacs - 用另一个字符串模式替换一些字符串模式

时间:2013-05-12 22:31:53

标签: javascript regex emacs

我需要使一个js文件更友好,如node.js模块

它有很多这样的陈述

function someFunction(jjjj){

他们需要转变为

exports.someFunction = function(jjjj){

如果在代码中调用someFunction,那就更好了     someFunction(BLA);

它也会被exports.someFunction替换。

2 个答案:

答案 0 :(得分:3)

您可以使用replace-regexp

M-x replace-regexp <RET> \(function\) \(.*\)(\(.*\)){ <RET> export.\2 = \1(\3))

我不确定你是否可以替换调用函数的代码,但是,如果有模式,你可以试试。

答案 1 :(得分:1)

这是我用键盘宏处理的东西,这是我如何用一些评论来做的:

  1. C-x(开始录制宏
  2. CS function RET 比照 马里兰州 的Ca {{ 1}} Cy exports. Mf Cd 这是整个宏。突出显示的文本是您键入的文本。 =周围有空格,但它们不会显示在标记中。
  3. C-x)结束定义宏。
  4. 您现在可以使用 C-x e 重复宏(请注意,一旦看到您不想导出的函数 - 您只需移动该点超过该函数定义)。或者你可以 Cx Ck b Cx x 在Emacs会话期间将宏绑定到 Cx x ,这样如果你记录另一个,你以后可以重复使用它。