TUI 複数行ファジー ドキュメント ファインダー
テキスト ファイル、PDF、DOCX などの対話型 grep を考えてください。ただし、正規表現ではなく単語/トークン ベースであり、行ベースなので、行をまたいで簡単に検索できます。
Docfd は、一般的なテキスト エディターや PDF ビューアーとの統合を通じて優れた UX を提供することを目的としているため、キーを 1 回押すだけで検索結果に直接ジャンプできます。
マルチスレッドのインデックス作成と検索
複数ファイルの複数行あいまい検索
選択した検索結果を囲むスニペットを表示するコンテンツ ビュー ペイン
テキストエディタとPDFビューアの統合
編集可能なコマンド履歴 - テキスト エディターでアクションを書き直したり計画したりできます
検索範囲の絞り込み - 現在の検索結果に基づいて次の検索の範囲を制限します
クリップボードの統合
Linux および macOS 用の静的にリンクされたバイナリは、GitHub リリースから入手できます。
Docfd は、次の Linux プラットフォームにもパッケージ化されています。
docfd-bin
として) by kseistrupdocfd
として) by Chewblacka現時点で Windows 上で Docfd を使用する唯一の方法は WSL を介することです。
パッケージャーに関する注意事項: ビルド用の OCaml ツールチェーンの外側 (ソースからパッケージ化している場合)、Docfd の完全な機能を実行するには、実行時に次の外部ツールも必要です。
poppler-utils
からのpdftotext
.epub
、 .odt
、 .docx
、 .fb2
、 .ipynb
、 .html
、および.htm
ファイルをサポートするpandoc
fzf
wl-clibpard
xclip
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 ファイルではサポートされていません。以下に示す方法でこれを適切にサポートすることは可能ですが、多くのエンジニアリングが必要となり、利益はほとんど得られない可能性があります。
Docfd は PDF ビューアが完全に終了するまで待ってから再開しますが、これにより、異なる PDF ビューア インスタンスで複数の検索結果を同時に表示することができなくなります。
Docfd は起動された PDF ビューアを完全に管理しますが、これらのビューアは Docfd が終了すると閉じられます。
Docfd はシェル経由で PDF ビューアを起動するため、Docfd が終了しても PDF ビューアは開いたままになります。代わりに、Docfd は PDF ビューアのプロセス ID を介して、PDF ビューアがまだ実行されているかどうかを定期的にチェックしますが、これにはフォークの処理が必要です。
Docfd は、ファイルと対話する PDF ビューア インスタンスがまだ実行されているかどうかを追跡する以外に、 inotify
またはファイル変更時間を定期的にチェックすることによってファイル更新処理を設定する必要もあります。
git rebase -i
からインスピレーションを得ています。