我如何设置宏来处理多个文件?
例如,假设我有多个角度应用程序,我想为每个模块添加一个注射器?
所以对于每个这样的文件
./apps/app-name/index.js
Run Code Online (Sandbox Code Playgroud)
我想找到第一个例子
angular.module('module-name', ['list', 'of', 'injectables']);
Run Code Online (Sandbox Code Playgroud)
要么
angular.module('other-module-name', [
'list',
'of',
'injectables']);
Run Code Online (Sandbox Code Playgroud)
并在列表的末尾添加另一个项目.
这实际上非常简单1
我将从一个单窗口框架开始,然后运行M-x find-name-dired RET以生成所有index.js文件的直接列表(如果我理解正确的话).或者您可能会使用find-grep-dired列出包含的所有文件angular.module(.或者rgrep如果个人匹配更合适.无论生成链接所需的是什么,您需要感兴趣的文件.
然后我将开始<f3>在第一个文件上记录带有点的宏(),首先使用o(来自dired; RET来自grep)在另一个窗口中打开文件.
然后,您将以足够通用的方式执行编辑,以便操作将应用于正在编辑的所有文件.
最后使用C-xo返回到dired列表,然后C-n移动到下一个文件,然后你将停止录制宏(<f4>).
1 "随便"创建键盘宏以处理分布在多个缓冲区上的数据的简易性是真正驱动该功能强大功能的其中一项.我第一次想到我真的可以做到这一点是一个巨大的"啊哈!" 对我来说,从那以后我一直是键盘宏的忠实粉丝.
| 归档时间: |
|
| 查看次数: |
416 次 |
| 最近记录: |