emacs变量名重构
前言
以前会使用emacs写代码,用IDE做重构和断点测试,
最近发现emacs也可以做一些重构,还可以高亮同样的变量.
重构本文件中的变量名
使用 iedit-mode
(自己绑定在 C-;
),来高亮所有的变量,
编辑高亮部分时即可更改变量的内容.
不编辑高亮部分,则高亮部分可以仅仅作为提示使用.
该模式需要退出
缺点:由于是基于两头加 "\b"
一类的字符串匹配,注释中的内容会被改变.
更改一个范围内的变量名
- 先选定一个范围 (搭配
C-c C-n
或C-M n
在尖括号或圆括号之间跳转) - 使用
narrow-to-region
(helm下绑定在M-m n r
) 限定影响范围在该范围 - 使用
iedit-mode
编辑 - 使用
widen
(helm下绑定在M-m n w
)恢复影响范围
整个项目的变量名重构
- 先使用
helm-projectile-ag
之类的搜索整个项目中的同样的变量- 此时会有部分匹配的字符串被匹配有没有关系
- 在搜索结果中使用
helm-ag-edit
(C-c C-e
)进入编辑模式- 当然也可以使用occur-mode等,这方面插件很多
- 使用
iedit-mode
编辑变量名- iedit-mode可以避免上面被部分匹配的变量被修改
- 根据提示使用
C-c C-c
保存或使用C-c C-k
放弃