1750218076
2025-06-18 02:07:00
さびに書かれたぼやけたミニマリストのディレクトリツリービューアー。コマンドラインプログラムに触発されました 木、強力なインタラクティブモードを備えています。

のインタラクティブな概要 lstrプロジェクト構造…使用 lstr。
- 速い: デフォルトでディレクトリスキャンを並行して実行して、最新のハードウェアの速度を最大化します。
- ミニマリスト: 膨満感なしの重要な機能を提供します。コアエクスペリエンスは清潔で整頓されています。
- 相互の作用: 液体、キーボード駆動型の探索用のオプションのTUIモード。
- 高性能: できるだけ速くなるようにディレクトリを並行してスキャンします。
- クラシックおよびインタラクティブモード: 使用
lstrクラシックのためにtree– ビューのような、または起動lstr interactive完全にインタラクティブなTUIの場合。 - リッチ情報表示(オプション):
- ファイル固有のアイコンを表示します
--icons(オタクフォントが必要です)。 - でファイル権限を表示します
-p。 - でファイルサイズを表示します
-s。 - git統合: ファイルステータスを表示します(
Modified、New、Untracked、など)は木に直接-Gフラグ。
- ファイル固有のアイコンを表示します
- スマートフィルタリング:
- あなたを尊重します
.gitignoreでファイル-gフラグ。 - 制御再帰深さ(
-L)またはディレクトリのみを表示します(-d)。
- あなたを尊重します
構築するには、システムにインストールされているRust Toolchainが必要です lstr。
- リポジトリをクローンします:
git clone https://github.com/bgreenwell/lstr.git cd lstr - 貨物を使用して構築およびインストール:
# This compiles in release mode and copies the binary to ~/.cargo/bin cargo install --path .
lstr [OPTIONS] [PATH]
lstr interactive [OPTIONS] [PATH]
ご了承ください PATH デフォルトは現在のディレクトリになります(.)指定されていない場合。
| オプション | 説明 |
|---|---|
-a、 --all |
隠されたファイルを含むすべてのファイルとディレクトリをリストします。 |
--color |
色の出力を使用する時期を指定します(always、 auto、 never)。 |
-d、 --dirs-only |
すべてのファイルを無視して、ディレクトリのみをリストします。 |
-g、 --gitignore |
尊敬 .gitignore その他の標準はファイルを無視します。 |
-G、 --git-status |
ファイルとディレクトリのGitステータスを表示します。 |
--icons |
ファイル固有のアイコンを表示します。 aが必要です オタクフォント。 |
-L、 --level |
下降する最大深度。 |
-p、 --permissions |
ファイル権限を表示(UNIXのようなシステムのみ)。 |
-s、 --size |
ファイルのサイズを表示します。 |
--expand-level |
インタラクティブモードのみ: インタラクティブツリーを拡張するための初期の深さ。 |
TUIを起動します lstr interactive [OPTIONS] [PATH]。
| キー | アクション |
|---|---|
↑ / k |
選択を上げます。 |
↓ / j |
選択を下に移動します。 |
Enter |
コンテキストアウェアアクション: – ファイル上で:デフォルトのエディターで開きます( $EDITOR)。– ディレクトリ上の場合:トグル展開/崩壊。 |
q / Esc |
正常にアプリケーションを終了します。 |
Ctrl+s |
シェル統合: 選択したパスを停止して印刷します。 |
1.現在のディレクトリの内容をリストします
2。gitignoredファイルを無視して、インタラクティブにプロジェクトを探索します
lstr interactive -g --icons
3。ファイルサイズとアクセス許可を備えたディレクトリを表示(クラシックビュー)
4.プロジェクト内のすべてのファイルのgitステータスを参照してください
5.表示されたすべてのデータを使用して、インタラクティブセッションを開始します
lstr interactive -gG --icons -s -p
クラシック view モードは、パイプを介して他のコマンドラインツールでうまく機能するように設計されています(|)。
これは、大規模なプロジェクトでファイルを即座に見つける強力な方法です。
fzf 木をから取ります lstr インタラクティブな検索プロンプトを提供してフィルタリングします。
ディレクトリが大きすぎて1つの画面に収まることができない場合は、出力をパイプします ページャ。
# Using less (the -R flag preserves color)
lstr -L 10 | less -R
# Using bat (a modern pager that understands colors)
lstr --icons | bat
使用できます lstr ビジュアルとして cd 指示。シェルの起動ファイルに次の関数を追加します(たとえば、 ~/.bashrc、 ~/.zshrc):
# A function to visually change directories with lstr
lcd() {
# Run lstr and capture the selected path into a variable.
# The TUI will draw on stderr, and the final path will be on stdout.
local selected_dir
selected_dir="$(lstr interactive -g --icons)"
# If the user selected a path (and didn't just quit), `cd` into it.
# Check if the selection is a directory.
if [[ -n "$selected_dir" && -d "$selected_dir" ]]; then
cd "$selected_dir"
fi
}
これを追加して新しいシェルセッションを開始した後(または実行中 source ~/.bashrc)、単に実行できます:
これにより、 lstr インタラクティブUI。必要なディレクトリに移動し、押します Ctrl+s、シェルの現在のディレクトリは即座に変更されます。
デフォルトでは、 lstr パラレルディレクトリウォーカーを使用して、マルチコアシステムの速度を最大化します。この並列性は、優れたものによって管理されます レーヨン スレッドプール。これは、内部で使用されます lstrのディレクトリトラバーサルエンジン。
ベンチマークやCPU使用の制限などの高度なユースケースの場合、スレッドの数を設定することで制御できます。 RAYON_NUM_THREADS コマンドを実行する前の環境変数。
シングルスレッド(シリアル)実行を強制するには:
RAYON_NUM_THREADS=1 lstr .
の哲学と機能性 lstr 優れたCベースに深く触発されています 木 コマンドラインプログラム。このプロジェクトは、現代の安全な錆でその古典的なユーティリティを再現する試みです。
#BGREENWELLLSTRさびに書かれた高速でミニマリストのディレクトリツリービューアー