我想在 Notepad++ 中有一些类似 grep 的功能。
在最简单的版本中,我希望能够将包含单词的当前缓冲区中的所有行复制foo到新缓冲区。我可以使用 TextFX 插件来隐藏所有没有 的行foo,但这并不能满足我的所有要求(它在Alt-上丢失了Tab,我不能只复制匹配的行等)。
kev*_*kev 86
Ctrl+ F--> 转到标记选项卡 --> 切换书签行--> 单击全部标记。
选择菜单搜索-->书签-->复制书签行。
小智 13
我只是在研究同样的问题。我不确定你是否知道;在“查找”对话框中,您可以在当前文档中查找所有内容,它会在底部弹出一个窗口,显示匹配的行。然后您可以将其复制到新文档中。
不幸的是,它在结果中包含了一些无关信息(行号等),但您可以使用列模式将其过滤掉。
另一个很好的解决方案是使用 NppExec 插件为 Notepad++ 添加 grep 命令。
与“书签”解决方案相比的主要优点是它运行速度更快,尤其是对于大文件,并且您不必修改原始文件。请注意,您必须创建一个小脚本一次才能在 Notepad++ 中使用此功能。
我的解决方案示例适用于 Windows,我使用findstr,它是所有 Windows 计算机上都可用的类似 grep 的命令工具。但您当然也可以使用您选择的任何其他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)
Run Code Online (Sandbox Code Playgroud)
(请仔细检查 OUTFILE 的路径是否适合您的环境)
第 3 步:为脚本添加菜单项(可选)
转到Plugins / NppExec / Advanced Options,选择下面的脚本“grep” Associated script,然后单击“确定”保存。按照 NppExec 的要求重新启动记事本以完成添加新菜单项。
步骤 4:为脚本添加快捷方式(可选)
转到Settings / Shortcut Mapper / Plugin commands,向下滚动找到脚本命令“grep”并为其定义快捷方式。例如ALT-G
| 归档时间: |
|
| 查看次数: |
64972 次 |
| 最近记录: |