Command当我通过++搜索多个文件时Shift,F结果以文本文件的形式返回。此文本文件是可编辑的,但所做的更改不会影响原始文件。
是否可以将“查找结果”中的更改传播到原始源文件?
Command当我通过++搜索多个文件时Shift,F结果以文本文件的形式返回。此文本文件是可编辑的,但所做的更改不会影响原始文件。
是否可以将“查找结果”中的更改传播到原始源文件?
Find Results Apply Changes插件就是为此而创建的。
您可以通过Package Control 的“Install Package”选项安装它。
在使用此插件之前,请确保您使用菜单启用了 UTF-8 编码:
File > Save with Encoding > UTF-8
安装后,您可以将您对“查找结果”缓冲区所做的任何更改应用回文件:
进入菜单:
Find > Find Results - Apply Changes
这会将所做的所有更改写回文件并自动保存修改后的文件。
默认情况下,使用菜单是使其工作的唯一方法。但是,它非常烦人,并且不像使用键盘快捷键那样节省时间。您可以通过在
Preferences > Key Bindings - User
通过增加:
{ "keys": ["ctrl+r"], "command": "find_results_apply_changes" },
不要使用CTRL+ S,因为它会覆盖保存文件的快捷方式。
警告!:根据插件的作者:
使用区域来允许您进行多行更改,但是在插入新换行符时,如果您多次提交会损坏文件,这是因为新换行符会移动行号。如果您在修改文件的其他实例中添加/删除换行符,也会“损坏”文件。例如在另一个选项卡中。为防止损坏,此软件包将提醒您并阻止其中大部分。
(这是Find Results Apply Changes Github 页面中描述的修改版本。)
我能想到的最短解决方法是从搜索结果中打开目标文件,只需双击路径,然后在 Windows 上使用Ctrl+跳转到相应的行或G⌃</kbd>+G on Mac OS.
我就是这样做的,必须说这只是几秒钟的事情,即使没有插件。