English | 日本語 · crftwr/xefm on GitHub · craftware

XeFM — dual-pane file manager for the desktop and the terminal

XeFM — デスクトップでもターミナルでも使える 2 画面ファイルマネージャー

English | 日本語

XeFM(Xenolith File Manager の略)は、キーボード操作中心の 2 画面ファイルマネージャーです。Windows と macOS ではネイティブのデスクトップアプリとして、Windows、macOS、Linux ではターミナルで動作します。SSH サーバー、S3 バケット、アーカイブも普通のフォルダーと同じように開けます。また、ほぼすべての動作を Python で自由に変えられます。既製の拡張機能をインストールすることも、自分で書くことも、XeFM スキルを使って AI コーディングエージェントに書かせることもできます。

Microsoft Store から Windows 版 XeFM をダウンロード   GitHub Releases から macOS 版 XeFM(.dmg)をダウンロード   PyPI から pip で XeFM のターミナルアプリをインストール

title

GUI(macOS) TUI
https://github.com/user-attachments/assets/f121401d-990b-445d-aa79-526d34e4a44e ターミナルで動く XeFM:ブラウズ、ビューアー、検索、ディレクトリ比較、テーマ

主な機能

クイックスタート

インストール

XeFM をどう使いたいかに合わせてインストール方法を選んでください。

  入手先 内容
デスクトップアプリ — Windows Microsoft Store Microsoft の署名付きで、通常のアプリとしてインストールされます。ワンクリックで導入でき、自動更新され、SmartScreen の警告も出ません。Python は不要です。
デスクトップアプリ — macOS 最新リリース、または Homebrew:brew install --cask crftwr/tap/xefm 通常のアプリとしてインストールされ、専用のアイコンと Dock 項目を持ち、ファイルアクセス権限も XeFM 自身に与えられます。Python は不要です。
ターミナルアプリ — Windows、macOS、Linux PyPI どのターミナルからでも(SSH 越しでも)使える xefm コマンド。Python 3.10 以上が必要です。
ターミナルアプリ — macOS、Linux Homebrew:brew install crftwr/tap/xefm Homebrew で管理される同じ xefm コマンド。自分で Python ライブラリを追加したい場合は PyPI 版を使ってください。

デスクトップアプリとターミナルアプリは共存でき、設定は ~/.xefm/ で共有されます。両方をインストールして使うのも、ごく普通の構成です。

デスクトップアプリ(Windows、macOS)

デスクトップ版のパッケージは Python を同梱しているので、ほかに何もインストールする必要はありません。

Windows — Microsoft Store からインストールするか、winget install --id 9PK2X44W810V --source msstore を実行します。XeFM はスタートメニューに登録され、自動で更新され、設定 → アプリ からアンインストールできます。署名なしのポータブル zip もすべてのリリースに添付されています。こちらは最初に一度ブロックの解除が必要です。

macOS — 最新リリース から XeFM-<version>-macos.dmg をダウンロードし、XeFM を アプリケーション にドラッグして、Launchpad か Spotlight から起動します。作者の Apple Developer ID で署名されています。Homebrew にインストールとアップグレードを任せることもできます。

brew install --cask crftwr/tap/xefm

Gatekeeper に関する注意を含むインストールの詳細は デスクトップモードガイド にあります。

xefm --backend gui ではなくパッケージを使ってください — この起動方法は XeFM の開発用で、普段使うためのものではありません。Dock/タスクバーのアイコンや、macOS ではファイルアクセス権限が、XeFM ではなく Python やターミナルのものとして扱われてしまいます。xefm --backend gui ではいけないのはなぜですか? を参照してください。

ターミナルアプリ(Windows、macOS、Linux)

XeFM は PyPI で公開されています。ツールとしてインストールしてそのまま実行できます。リポジトリのチェックアウトも仮想環境の管理も不要です。

pipx install xefm     # or:  uv tool install xefm,  or:  pip install xefm
xefm

pipx と uv は、XeFM を専用の環境に入れたうえで xefm コマンドを PATH に置いてくれます。uvx xefm なら何もインストールせずに一度だけ試せます。必要なのは Python 3.10 以上だけです。SSH セッション、リモートサーバー、ターミナル中心の作業にはこのインストール方法が向いています。

macOS と Linux では、Homebrew でターミナルアプリをインストールすることもできます。

brew install crftwr/tap/xefm

config.py で XeFM に同梱されていないライブラリを import している場合や、pillow-heif のような Pillow プラグインを使いたい場合は、~/.xefm/requirements.txt に書いて xefm deps sync(または Tools → Advanced → Sync Python Packages)を実行してください。デスクトップアプリを含むどのインストール方法でも同じように動き、アップグレード後も残ります。追加の Python ライブラリを参照してください。

アップグレードはインストールしたときと同じツールで行ってください(pipx upgrade xefm、uv tool upgrade xefm、pip install --upgrade xefm、brew upgrade xefm)。ツールを混ぜて使うことはできません。詳細とよくあるインストールエラーの対処法はユーザーガイドにあります。

ソースから

XeFM 自体を開発する場合は、リポジトリをクローンして使います。

git clone https://github.com/crftwr/xefm.git
cd xefm
make venv        # creates .venv with every dependency
make run         # launch XeFM through it, no activation needed

そのほかのターゲット(editable インストール、PuiKit との同時開発、macOS/Windows のアプリバンドル)は make help で一覧できます。

基本操作

初回起動時に、4 つのキーマッププリセット(AFX style、Orthodox、OS native、Vim style)のどれを使うかを選びます。後から Tools → Advanced → Keymap… で切り替えられます。次の操作はどのプリセットでも同じです。

4 つのプリセットのすべてのキーは、キーマッププリセットのページに並べて載せています。

ドキュメント

ユーザー向けドキュメント

機能ガイドの一覧はユーザーガイドの末尾にあります。 レシピやコミュニティの拡張機能は XeFM wiki にまとめられています。

開発者向けドキュメント(英語)

アーカイブを仮想ディレクトリとしてブラウズ

アーカイブファイル(.zip、.tar、.tar.gz、.tgz、.tar.bz2、.tar.xz)の上で Enter を押すと、普通のディレクトリと同じようにブラウズできます。展開は不要です。アーカイブの中でも、入れ子のディレクトリの移動、ファイルの表示、名前や内容での検索ができ、いつもの操作でファイルを取り出せます。Backspace でアーカイブから出ます。File → Create Archive… と File → Extract Archive… でアーカイブの作成と展開ができます。アーカイブ機能ガイドを参照してください。

内蔵ファイルビューアー

ファイルの上で Enter を押すと表示します。XeFM はファイルの種類に合ったビューアーを選びます。テキストはシンタックスハイライト付きで表示し(20 以上の形式、行番号、折り返し、ファイル内検索)、画像は拡大縮小とスクロールができます(iTerm2/kitty/sixel 対応ターミナルとデスクトップモードではインライン表示)。Markdown、JSON、CSV/TSV は整形表示になり、キー 1 つで生テキスト表示に切り替えられます。どのビューアーも、ローカルファイル、アーカイブの中、リモートの SFTP/S3 パスで、展開やダウンロードなしに使えます。

テキストビューアー

Markdown JSON / JSONL CSV / TSV
見出し、リスト、コード、リンクを整形表示 折りたためる色分けされたツリー(.json、.jsonl、.ndjson) 列をそろえた表形式(.csv、.tsv)

画像ビューアー

テーマと視覚効果

XeFM には 10 種類以上のテーマが内蔵されています。テーマは View → Theme メニューから選びます。選んだテーマは再起動後も保持されます。~/.xefm/config.py で独自のテーマを定義すると、内蔵テーマと並んで選択肢に表示されます。

     

Dark+

Monokai

Dracula

Nord

Solarized

Gruvbox Dark

Light+

Solarized Light

Sci-Fi

Cyber

Segment LCD

Shinagawa

デスクトップモードでは、インターフェースの背後や前面に GPU で描画する視覚効果をテーマに含めることもできます。背景アニメーション(starfield、rain、hologram など)、CRT/蛍光体風の画面ポストエフェクト、テキストが浮かび上がるアニメーション、半透明の面などです。視覚効果はテーマの定義の一部にすぎないので、独自テーマで自由に組み合わせられます。ターミナルモードでは無視されます。配色と視覚効果を参照してください。

サブシェルモード

Tools → Subshell Here で XeFM を一時的に中断してシェルに入ります。このシェルの環境変数には、現在のペインと選択項目の情報(XEFM_LEFT_DIR、XEFM_THIS_DIR、XEFM_LEFT_SELECTED など)が入っています。exit で XeFM に戻ります。変数の一覧はユーザーガイドにあります。

コマンドラインオプション

ここで説明するオプションは、ターミナル版とソースからの実行で使えます(ソースからの場合、どのコマンドも python3 -m xefm … として実行できます)。デスクトップ版のパッケージは引数を取りません。

xefm                                    # terminal mode (the default)
xefm --left /path/a --right /path/b     # startup directories
xefm --backend gui                      # desktop window — development path only

使えるフラグは --backend {tui,curses,gui,macos,windows}、--left DIR、--right DIR、--version、--help です。バックエンドの詳細はデスクトップモードガイドにあります。

設定

XeFM は ~/.xefm/config.py で細かく設定できます。テーマと視覚効果、キーバインド、外部プログラムとファイルの関連付け、お気に入りのディレクトリ、動作の設定などです。メニューバーの Tools → Edit Configuration… で開くか、ファイルを直接編集してください。設定機能ガイド を参照してください。

拡張機能

拡張パッケージは、config.py に手を入れずに、アクション、イベントフック、テーマ、ソート順、フィルター、画像形式、場所(パス)、シンタックスハイライトを追加します。インストール、アップグレード、アンインストールはパッケージ単位でまとめて行えます。

xefm ext install github:crftwr/xefm-extensions/compute-hash
xefm ext list

デスクトップアプリでは、代わりに Tools → Advanced → Install Extension… を使います。wiki の Extensions ページに、使える拡張機能の一覧があります。crftwr/xefm-extensions の公式パッケージ(ハッシュや行数の計算から、S3 の署名付き URL、クラシックな青いテーマまで)と、コミュニティによるものです。自分で書くには拡張パッケージを参照してください。AI コーディングエージェントに XeFM スキルを渡して、欲しい機能を頼むこともできます。拡張機能の API はプレビュー段階なので、形式が変わる可能性があります。

トラブルシューティング

そのほかはユーザーガイドとデスクトップモードガイドにあります。

連絡先とサポート

ライセンス

MIT ライセンス — 詳細は LICENSE ファイルを参照してください。