如何在记事本++中多行“替换文件...”


69

如果免费的源代码编辑器Notepad ++具有“在文件中查找...”功能,即没有在编辑器中打开文件,它是否还具有“在文件中替换...”功能?

Notepad ++基于编辑组件Scintilla-在SourceForge上对此功能请求有响应:“无需将此包含在SciTE中,因为您可以使用“参数”对话框将此命令添加到“工具”菜单中。” 那么可以在Notepad ++中对文件进行多行替换吗?


问题是“ Notepad ++中缺少/所需的功能”,但这与我特别想找出的东西分心了,这可能使问题得以解决。
罗布·金

请告诉如何的问题是没有建设性..
德鲁奥尔登

这是一个功利主义的解决方案。stackoverflow.com/a/13892643/5017758
Aspak Rogatiya

Answers:


78

在Notepad ++中轻松进行多行替换。您必须使用\n来在字符串中表示换行符,并且它既可以用于搜索字符串,也可以用于替换字符串。您必须确保在搜索窗口的左下角选择“扩展”搜索模式。

我在这里找到了一篇描述功能的好文章:http : //markantoniou.blogspot.com/2008/06/notepad-how-to-use-regular-expressions.html


这在已经打开的文件中。问题是如何在文件中进行操作而不在编辑器中打开它们。例如,用bas文件夹中* .c文件中的bar替换所有出现的foo。
罗伯·金

6
您也可以对未打开的文件执行此操作。它是菜单中的“搜索->查找文件”选项,或使用键盘快捷键Ctrl-Shift-F
亚历克斯(Alex)2010年

这是答案,这应该被标记为答案+1
James Campbell

3
使用适用于Notepad ++的ToolBucket插件进行多行编辑更容易。检查我的答案以获取更多信息。
Artur Haddad 2015年

它确实需要您确保文本不包含这些扩展符号,或者事先将其转义。
makrom

61

实际上,使用ToolBucket插件进行Notepad ++进行多行替换更容易。

要激活它,只需转到N ++菜单:

插件>插件管理器>显示插件管理器>检查ToolBucket>安装。

重新启动N ++,然后按ALT + SHIFT + F进行多行编辑。


工作完美,我不需要安装另一个编辑器!令我惊讶的是,VS或emacs都不以简单的方式做到这一点。
sandos '16

4
问题是关于替换[多个]文件。
马库斯·冯·布罗迪

1
@MarkusvonBroady您可以使用这种方法在多个文件中查找和替换
Artur Haddad

1
它适用于英语,但不适用于日语。好难过。
摩西

2
请注意,自2018年起,notepad ++中不再包含插件管理器,您将必须手动安装插件或自己重新安装插件管理器。
James Wong-恢复莫妮卡

9

解决方法是

  1. 搜索并将\ r \ n替换为thisismynewlineword

(这将删除所有新行,并且应该整整一行)

  1. 现在执行替换

  2. 搜索并将thisismynewlineword替换为\ r \ n

(撤消步骤1)


虽然这不是一个很好的解决方案,但在Windows文本编辑器中进行大型的多行搜索和替换时,我必须完全使用这种方法。
Siliconpi

如果您的替换文本不包含通过扩展方法解析转义字符(\n\r\t等),那么你可以更容易通过简单地更换\r\n\\r\\n没有必要改变任何东西。
马库斯·冯·布罗迪

0

这是一个主观意见,但是我认为文本编辑器不应该做所有事情,也不应该做所有事情。我更喜欢轻量级的灵活而强大的(在其专业领域中)编辑器。尽管主要是Windows用户,但我喜欢Unix的哲学,即拥有许多可以一起使用的专用工具(例如UnxUtils),而不是无所不能的怪物,但不一定按您的意愿做!

在文件中查找是这些额外功能的边界,但在您可以双击找到的行以在右行打开文件时很有用。请注意,最初,在SciTE中,它只是对grep或同等功能的Tools调用!
尽管可以将FTP视为扩展的“打开/保存”对话框,但FTP非常接近主题。
替换文件太多IMO:如果没有预览,这很危险(您可能一次破坏很多文件),等等。我宁愿使用我选择的专用工具,也许是多行搜索和替换工具中的工具

要回答这个问题,请查看N ++,我看到一个“运行”菜单,您可以在其中启动任何工具,并为其分配名称和快捷键。我还看到了Plugins> NppExec,它似乎能够启动sed之类的东西(没有尝试过)。


这是一个冒险的功能,也许就是为什么不包含它。我使用多行搜索并经常进行替换,因此我希望将其提交给编辑器本身。
罗布·甘
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.