如何通过Sublime Text中的“查找结果”编辑多个文件

时间:2013-11-07 20:10:39

标签: sublimetext2 sublimetext sublime-text-plugin

当我通过 Command + Shift + F 搜索多个文件时,结果将返回为类似文本文件的内容。此文本文件是可编辑的,但所做的更改不会影响原始文件。

是否可以将“查找结果”中的更改传播到原始源文件?

2 个答案:

答案 0 :(得分:20)

创建Find Results Apply Changes插件就是为了做到这一点。

您可以通过Package Control's"安装包"选项。

在使用此插件之前,请确保使用菜单启用了UTF-8编码:

File > Save with Encoding > UTF-8

安装完成后,您可以将您所做的任何更改应用于"查找结果"缓冲回文件:

  • 搜索" foo"在文件夹中(Sublime的默认快捷方式是 CTRL + SHIFT + S
  • 这将打开"查找结果"缓冲区列出所有文件" foo"在它。
  • 更改" foo"的实例for" bar"或其他什么......
  • 转到菜单:

    Find > Find Results - Apply Changes
    
  • 这将写回所有对文件所做的更改并自动保存修改后的文件。

默认情况下,使用菜单是使其工作的唯一方法。但是,它非常令人厌烦,并且不会像使用键盘快捷键那样节省时间。您可以通过在

中添加新行来设置所选的键盘快捷键
Preferences > Key Bindings - User

添加:

{ "keys": ["ctrl+r"], "command": "find_results_apply_changes" },

不要使用 CTRL + S ,因为它会覆盖保存文件的快捷方式。

警告!:根据插件的作者:

  

使用区域允许您进行多行更改,但在插入新内容时使用   新行,如果您提交多次,将损坏文件,这个   因为新的换行符会改变行号。也会   '腐败'文件,如果你在其他实例中添加/删除换行符   修改过的文件例如在另一个标签中。为了防止腐败这个包   会提醒你并防止大部分这些。

(这是Find Results Apply Changes Github页面中描述的修改版本。)

答案 1 :(得分:2)

我能想到的最短的解决方法是从搜索结果中打开目标文件,只需双击路径,然后使用 Ctrl + G 在Windows上或Mac OS上的 ^ + G

这就是我这样做的方式,必须说它只是几秒钟,即使没有插件也是如此。