【问题标题】:How to multi-line "Replace in files..." in Notepad++如何在记事本++中多行“替换文件...”
【发布时间】:2010-09-29 03:01:00
【问题描述】:

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

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

【问题讨论】:

  • 问题是“Notepad++ 中缺少/期望的功能”,但这会分散我特别想找出的内容,并且可能已经解决了问题。
  • 请告诉我这个问题没有建设性......
  • 这是一个实用的解决方案。 stackoverflow.com/a/13892643/5017758

标签: notepad++ scintilla


【解决方案1】:

在 Notepad++ 中进行多行替换很容易。您必须使用\n 来表示字符串中的换行符,它适用于搜索和替换字符串。您必须确保在搜索窗口的左下角选择“扩展”搜索模式。

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

【讨论】:

  • 这是在一个已经打开的文件中。问题是如何在文件中执行此操作而不在编辑器中打开它们。例如将文件夹 bas 中 *.c 文件中所有出现的 foo 替换为 bar。
  • 您也可以对未打开的文件执行此操作。它是菜单中的“搜索->在文件中查找”选项或使用键盘快捷键 Ctrl-Shift-F
  • 这是答案,这应该被标记为答案+1
  • 使用 Notepad++ 的 ToolBucket 插件进行多行编辑更容易。查看我对更多信息的回答。
  • 它确实需要您确保文本不包含这些扩展符号或预先转义它们。
【解决方案2】:

其实使用 Notepad++ 的 ToolBucket 插件来进行多行替换要容易得多。

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

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

重启 N++ 并按 ALT + SHIFT + F 进行多行编辑。

【讨论】:

  • 完美运行,我不需要安装另一个编辑器!我很惊讶 VS 或 emacs 都没有以简单的方式做到这一点。
  • 问题是关于替换[多个]文件。
  • @MarkusvonBroady 您可以使用此方法在多个文件中查找和替换
  • 它适用于英语,但不适用于日语。好伤心。
  • 请注意,自 2018 年起,notepad++ 中不再包含插件管理器,您必须手动安装插件或自行重新安装插件管理器。
【解决方案3】:

解决方法是

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

(这将删除所有新行,应该是整行)

  1. 现在执行替换

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

(撤消步骤 1)

【讨论】:

  • 虽然不是一个优雅的解决方案,但在 Windows 文本编辑器中进行大型多行搜索和替换时,我必须完全使用这种方法。
  • 如果您的替换文本不包含通过扩展方法(\n\r\t 等)解析的转义字符,那么您可以通过简单地替换 @987654324 来使其更容易@ 与 \\r\\n 无需更改任何内容。
【解决方案4】:

这是一个主观意见,但我认为文本编辑器不应该做所有事情和厨房水槽。我更喜欢轻巧灵活且功能强大(在他们的专业领域)的编辑器。虽然我主要是 Windows 用户,但我喜欢 Unix 哲学,即拥有许多可以一起使用的专用工具(如 UnxUtils),而不是一个怪物做所有事情,但不一定如你所愿!

在文件中查找位于这些额外功能的边界,但当您可以双击找到的行以在右侧行打开文件时很有用。请注意,最初,在 SciTE 中,它只是对 grep 或等价物的工具调用!
FTP 非常接近题外话,尽管它可以被视为扩展的打开/保存对话框。
在文件中替换太多 IMO:如果您没有预览等,这很危险(您可以一次弄乱很多文件)。我宁愿使用我选择的专用工具,也许在 Multi line search and replace tool 中的工具中。

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

【讨论】:

  • 这是一个有风险的功能,也许这就是它不包括在内的原因。我经常使用多行搜索和替换,以至于我喜欢将它交给编辑器本身。
猜你喜欢
  • 2015-10-15
  • 2017-08-09
  • 1970-01-01
  • 2013-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-07
  • 1970-01-01
相关资源
最近更新 更多