使用 ESS/R 重构 R 代码
我想知道是否可以在 ESS 中重构 R 代码。在 Emacs 中使用搜索和替换似乎并不是一个很好的替代方案。
I would like to know if it is possible to refactor R code in ESS. Using search and replace in Emacs does not seem to be a good alternative to it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
ESS 本身不提供任何重构工具。相反,您可以使用 emacs 功能。
以下示例演示了如何在项目目录中所有打开的 R 文件中将所有以“xxx”开头并以“yyy”结尾的单词替换为“zzzzzz”。
Cx d(输入 dired)
% mr$(标记所有以 R 或 r 结尾的文件)
Q(输入
dired-to-query-replace-regexp
)输入 xxx.*zzz和 zzzzzz 当被要求更换图案时。
接受,用y、n跳过
此处 是有关如何在多个文件中搜索替换的完整教程。
以及如何使用 ibuffer 保存所有修改的缓冲区。
ESS itself does not provide any facilities for refactoring. Instead you can use emacs functionality.
Here is an example of how to replace all words starting with "xxx" and ending with "yyy" with "zzzzzz" in all your open R files in your project directory.
C-x d (enter dired)
% m r$ (mark all files ending in R or r)
Q (enter
dired-to-query-replace-regexp
)type xxx.*zzz and zzzzzz when asked for replacement patterns.
accept, skip with y,n
Here is a complete tutorial of how to search-replace in multiple files.
and also how to save all modified buffers with
ibuffer
.在 Emacs 中,您可以使用
M-%
进行搜索替换,然后!
将替换当前缓冲区中的每个实例。如果这不是你想要的,你能解释一下(在这里编辑你的问题或评论)Statet 做什么以及你到底想在 Emacs + ESS 中做什么?
In Emacs you can do a search replace with
M-%
and then!
will replace every instance in the current buffer.If that isn't want you mean, can you explain (edit your Q or comment here) what Statet does and what exactly you'd like to do in Emacs + ESS?