Notepad++ 有类似 Grep 的功能吗?

Notepad++ 有类似 Grep 的功能吗?

我希望 Notepad++ 中有一些类似 grep 的功能。

在最简单的版本中,我希望能够将当前缓冲区中包含该单词的所有行复制foo到新缓冲区。我可以使用 TextFX 插件隐藏所有不带 的行,但这并不能满足我的所有要求(它在-foo上丢失,我无法仅复制匹配的行等)。AltTab

答案1

Ctrl+ F--> 转至标记标签 --> 切换书签线--> 点击全部标记

选择菜单搜索-->书签-->复制书签行

答案2

我刚刚也在研究这个问题。我不确定你是否知道;在“查找”对话框中,你可以在当前文档中查找全部底部会弹出一个窗口,显示匹配的行。然后您可以将其复制到新文档中。

不幸的是,结果中包含一些无关信息(行号等),但您可以使用列模式将其过滤掉。

答案3

另一个很好的解决方案是使用 NppExec 插件为 Notepad++ 添加 grep 命令。

与“书签”解决方案相比,它的主要优势在于运行速度更快,尤其是对于大文件,并且您不必修改原始文件。请注意,您必须创建一个小脚本才能在 Notepad++ 中启用此功能。

我的解决方案示例适用于 Windows,我使用查找字符串,这是一个类似于 grep 的命令工具,可在所有 Windows 计算机上使用。但你当然也可以使用任何其他grep 克隆你的选择。

步骤 1:安装 NppExec 插件

转到Plugins / Plugin Manager / Show Plugin Manager,向下滚动到 NppExec,选择此插件并单击安装。您可能需要重新启动 Notepad++ 才能完成安装过程。

第 2 步:为 NppExec 创建一个小脚本

转到Plugins / NppExec / Execute,输入以下脚本并将其保存为“grep”:

SET local OUTFILE = "c:\temp\$(FILE_NAME).temp"
INPUTBOX "Input filter string"
cmd /c findstr $(INPUT) "$(FULL_CURRENT_PATH)" >$(OUTFILE)
NPP_OPEN $(OUTFILE)

(请仔细检查 OUTFILE 的路径是否适合您的环境)

步骤 3:为脚本添加菜单项(选修的)

进入Plugins / NppExec / Advanced Options,选择下面的脚本“grep”Associated script并点击OK保存。按照NppExec的要求重新启动记事本,完成添加新菜单项。

步骤 4:为脚本添加快捷方式(选修的)

转到Settings / Shortcut Mapper / Plugin commands,向下滚动找到您的脚本命令“grep”并为其定义一个快捷方式。例如ALT-G

答案4

步骤 5:创建快速保存和 grep 文档的脚本

转到 Plugins/NppExec/Execute,输入以下脚本并将其保存为“grep”:

设置本地 AUTOSAVEFILE = “%tmp%\NpPPautosave.tmp”
设置本地 OUTFILE = “%tmp%\NpPPautosaveToGrep.temp”
NPP_SAVEAS “%tmp%\NpPPfile.tmp”
INPUTBOX “GREP 的输入字符串”
cmd /c findstr $(INPUT) $(AUTOSAVEFILE) > $(OUTFILE)
NPP_OPEN $(OUTFILE)

相关内容