我希望 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)