TUI 多行模糊文档查找器
认为交互式 grep 用于文本文件、PDF、DOCX 等,但基于单词/标记而不是正则表达式和基于行,因此您可以轻松地跨行搜索。
Docfd 旨在通过与常见文本编辑器和 PDF 查看器集成来提供良好的用户体验,因此您只需按一下按键即可直接跳转到搜索结果。
多线程索引和搜索
多个文件的多行模糊搜索
显示所选搜索结果周围的代码片段的内容视图窗格
文本编辑器和 PDF 查看器集成
可编辑的命令历史记录 - 在文本编辑器中重写/计划您的操作
搜索范围缩小——根据当前搜索结果限制下次搜索的范围
剪贴板集成
适用于 Linux 和 macOS 的静态链接二进制文件可通过 GitHub 版本获取。
Docfd 还打包在以下 Linux 平台上:
docfd-bin
),作者:kseistrupdocfd
)作者:chewblacka目前在 Windows 上使用 Docfd 的唯一方法是通过 WSL。
打包人员注意事项:除了用于构建的 OCaml 工具链(如果您从源代码打包)之外,Docfd 在运行时还需要以下外部工具才能实现完整功能:
poppler-utils
的pdftotext
用于 PDF 支持pandoc
支持.epub
、 .odt
、 .docx
、 .fb2
、 .ipynb
、 .html
和.htm
文件fzf
用于文件选择菜单wl-clibpard
用于 Wayland 上的剪贴板支持xclip
用于 X11 上的剪贴板支持Docfd 的典型用法是cd
到感兴趣的目录并直接启动docfd
,或者指定路径作为参数:
docfd [PATH]...
路径列表可以包含目录。默认情况下,会递归扫描列表中的每个目录以查找具有以下扩展名的文件:
.txt
、 .md
、 .pdf
、 .epub
、 .odt
、 .docx
、 .fb2
、 .ipynb
、 .html
、 .htm
.log
、 .csv
、 .tsv
您可以通过--exts
和--single-line-exts
更改要使用的文件扩展名,或通过--add-exts
和--single-line-add-exts
添加到扩展名列表中。
如果列表PATH
为空,则 Docfd 默认扫描当前目录.
除非使用以下任何一项: --paths-from
、 --glob
、 --single-line-glob
。
请参阅 GitHub Wiki 了解更多示例/说明书和技术细节。
PDF 文件不支持文件自动重新加载,因为 PDF 查看器是通过 shell 在后台调用的。可以通过下面列出的方式来正确支持这一点,但需要大量的工程设计,而收益可能很小:
Docfd 等待 PDF 查看器完全终止后再恢复,但这会禁止在不同的 PDF 查看器实例中同时查看多个搜索结果。
Docfd 完全管理已启动的 PDF 查看器,但这些查看器会在 Docfd 终止时关闭。
Docfd 通过 shell 调用 PDF 查看器,以便在 Docfd 终止时它们保持打开状态。相反,Docfd 会定期检查它们是否仍在通过 PDF 查看器的进程 ID 运行,但这需要处理分叉。
除了跟踪与文件交互的 PDF 查看器实例是否仍在运行之外,Docfd 还需要通过inotify
或定期检查文件修改时间来设置文件更新处理。
git rebase -i