非同期I/O、画像プレビュー、プラグインシステム、マルチタブサポートを備えたRust製の超高速ターミナルファイルマネージャー。
| コマンド | 説明 |
|---|
brew install yazi ffmpegthumbnailer unar jq poppler fd ripgrep fzf zoxide imagemagick | macOSに全プレビュー依存関係付きでフルインストール |
brew install yazi | macOSに最小インストール |
cargo install --locked yazi-fm yazi-cli | crates.ioからインストール |
pacman -S yazi ffmpegthumbnailer unarchiver jq poppler fd ripgrep fzf zoxide | Arch Linuxにフルインストール |
scoop install yazi | WindowsにScoopでインストール |
winget install sxyazi.yazi | Windowsにwingetでインストール |
nix-env -i yazi | NixOSにインストール |
snap install yazi --classic | UbuntuにSnapでインストール |
| コマンド | 説明 |
|---|
yazi | 現在のディレクトリでYaziを起動 |
yazi /path/to/dir | 特定のディレクトリでYaziを開く |
yazi --version | インストール済みバージョンを表示 |
ya --version | CLIヘルパーのバージョンを表示 |
yazi --cwd-file=/tmp/cwd | 終了時に最後のディレクトリを保存 |
# Bash/Zsh — ~/.bashrc または ~/.zshrc に追加
function y() {
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
yazi "$@" --cwd-file="$tmp"
if cwd="$(command cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
builtin cd -- "$cwd"
done
rm -f -- "$tmp"
}
# Fish — ~/.config/fish/config.fish に追加
function y
set tmp (mktemp -t "yazi-cwd.XXXXXX")
yazi $argv --cwd-file="$tmp"
if set cwd (command cat -- "$tmp"); and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ]
builtin cd -- "$cwd"
end
rm -f -- "$tmp"
end
| コマンド | 説明 |
|---|
j または ↓ | カーソルを下に移動 |
k または ↑ | カーソルを上に移動 |
h または ← | 親ディレクトリに移動 |
l または → または Enter | ディレクトリに入る、またはファイルを開く |
g g | 最初のアイテムに移動 |
G | 最後のアイテムに移動 |
~ | ホームディレクトリに移動 |
Backspace | 親ディレクトリに移動 |
Ctrl + u | 半ページ上にスクロール |
Ctrl + d | 半ページ下にスクロール |
Ctrl + b | 1ページ上にスクロール |
Ctrl + f | 1ページ下にスクロール |
| コマンド | 説明 |
|---|
z | zoxideでディレクトリにジャンプ |
Z | zoxideでジャンプ(インタラクティブfzf) |
- | 前のディレクトリに移動 |
Ctrl + o | ナビゲーション履歴を戻る |
Ctrl + i | ナビゲーション履歴を進む |
| コマンド | 説明 |
|---|
o | デフォルトプログラムでファイルを開く |
O | インタラクティブにファイルを開く(プログラムを選択) |
Enter | ファイルを開く、またはディレクトリに入る |
q | Yaziを終了 |
Q | cwd-fileを書き込まずに終了 |
| コマンド | 説明 |
|---|
y | 選択したファイルをヤンク(コピー) |
x | 選択したファイルをカット |
p | ヤンク/カットしたファイルをペースト |
P | 上書きでペースト |
Y または X | ヤンク/カットをキャンセル |
- → p | 絶対シンボリックリンクとしてペースト |
_ → p | 相対シンボリックリンクとしてペースト |
Ctrl + p | ハードリンクとしてペースト |
| コマンド | 説明 |
|---|
a | 新しいファイルまたはディレクトリを作成(末尾/ = ディレクトリ) |
r | 選択したファイルをリネーム |
c | カーソルを末尾に置いてリネーム |
d | 選択したファイルをゴミ箱に移動 |
D | 選択したファイルを完全に削除 |
. | 隠しファイルの表示を切り替え |
ファイルとディレクトリの作成:
a myfile.txt → 新しいファイルを作成
a mydir/ → 新しいディレクトリを作成(末尾スラッシュ)
a path/to/file → ネストされた構造を作成
一括リネーム:
複数ファイルを選択 → r → $EDITORが開く
各行 = 1つのファイル名、編集して保存するとすべてリネーム
| コマンド | 説明 |
|---|
Space | 現在のファイルの選択を切り替え |
V | ビジュアル(複数選択)モードに入る |
Ctrl + a | 全ファイルを選択 |
Ctrl + r | 選択を反転 |
Escape | 選択をクリア |
| コマンド | 説明 |
|---|
m | 現在のディレクトリをブックマークとして保存 |
' | ブックマークにジャンプ |
" | ブックマークを削除 |
| コマンド | 説明 |
|---|
t | 現在のディレクトリに新しいタブを作成 |
Ctrl + c | 現在のタブを閉じる |
1 - 9 | 番号でタブを切り替え |
[ | 前のタブに切り替え |
] | 次のタブに切り替え |
{ | タブを前と入れ替え |
} | タブを次と入れ替え |
| コマンド | 説明 |
|---|
/ | 現在のディレクトリでファイルを検索 |
? | 逆方向にファイルを検索 |
n | 次の検索マッチに移動 |
N | 前の検索マッチに移動 |
| コマンド | 説明 |
|---|
f | ファイルをフィルタ(マッチするもののみ表示) |
s | fdを使用してファイルを検索(再帰的) |
S | ripgrepを使用してファイル内容を検索 |
: → コマンドを入力 | コマンドモードを開く |
fdによるファイル検索('s'を押す):
名前パターンでファイルを再帰的に検索
高速検索のために内部でfdを使用
結果がピッカーに表示 — Enterでジャンプ
ripgrepによる内容検索('S'を押す):
ファイル内容を再帰的に検索
高速テキスト検索のためにripgrepを使用
結果にファイル名とマッチ行を表示
| コマンド | 説明 |
|---|
| プレビューペインにファイル内容を表示 | サポートされた種類で自動表示 |
Tab | プレビューペインの表示を切り替え |
Ctrl + Shift + = | プレビューペインの幅を広げる |
Ctrl + Shift + - | プレビューペインの幅を狭める |
| タイプ | 要件 |
|---|
| テキストファイル | シンタックスハイライト付きの組み込み |
| 画像(PNG、JPG、GIF) | Kitty、iTerm2、またはSixelプロトコル |
| SVGファイル | ImageMagick |
| PDFドキュメント | Poppler(pdftoppm) |
| 動画サムネイル | ffmpegthumbnailer |
| アーカイブ(zip、tarなど) | unarまたは7z |
| Markdown | 組み込みレンダリング |
| JSON/YAML | 組み込みフォーマット |
| ディレクトリ | 組み込みリスト表示 |
画像プレビュープロトコル(自動検出):
Kitty — Kittyターミナル(最高品質)
iTerm2 — iTerm2、WezTerm、Mintty
Sixel — 多くのターミナル(foot、mltermなど)
X11/Wayland — ueberzugpp経由(フォールバック)
yazi.tomlで手動でプロトコルを設定:
[preview]
image_quality = 75
| コマンド | 説明 |
|---|
,m | 更新日時でソート |
,M | 更新日時でソート(逆順) |
,c | 作成日時でソート |
,C | 作成日時でソート(逆順) |
,e | 拡張子でソート |
,E | 拡張子でソート(逆順) |
,s | サイズでソート |
,S | サイズでソート(逆順) |
,n | 名前でソート(自然順) |
,N | 名前でソート(逆順) |
,r | ランダムソート |
w | タスクマネージャーを切り替え |
T | レイアウトを切り替え(1/2/3列) |
| ファイル | 目的 |
|---|
~/.config/yazi/yazi.toml | メイン設定 |
~/.config/yazi/keymap.toml | カスタムキーバインド |
~/.config/yazi/theme.toml | カラーテーマ |
~/.config/yazi/init.lua | Lua初期化スクリプト(プラグイン) |
# ~/.config/yazi/yazi.toml
[manager]
ratio = [1, 4, 3] # 列の比率(親、現在、プレビュー)
sort_by = "natural" # natural、modified、created、extension、size
sort_sensitive = false # 大文字小文字を区別するソート
sort_reverse = false # ソート順を反転
sort_dir_first = true # ファイルの前にディレクトリを表示
linemode = "size" # none、size、permissions、mtime
show_hidden = false # 隠しファイルを表示
show_symlink = true # シンボリックリンクのターゲットを表示
[preview]
tab_size = 2 # プレビューのタブ幅
max_width = 600 # プレビューの最大幅
max_height = 900 # プレビューの最大高さ
image_quality = 75 # 画像プレビューのJPEG品質
sixel_fraction = 15 # Sixelの解像度分数
[opener]
edit = [
{ run = '${EDITOR:-vi} "$@"', block = true, for = "unix" },
{ run = 'code "%*"', orphan = true, for = "windows" },
]
[tasks]
micro_workers = 10 # 小さいファイル操作
macro_workers = 25 # 大きいファイル操作
bizarre_retry = 5 # エラー時のリトライ
# ~/.config/yazi/keymap.toml
[[manager.prepend_keymap]]
on = ["g", "d"]
run = "cd ~/Downloads"
desc = "ダウンロードに移動"
[[manager.prepend_keymap]]
on = ["g", "p"]
run = "cd ~/projects"
desc = "プロジェクトに移動"
[[manager.prepend_keymap]]
on = ["g", "c"]
run = "cd ~/.config"
desc = "設定に移動"
# 現在のディレクトリでターミナルを開く
[[manager.prepend_keymap]]
on = ["!"]
run = 'shell "$SHELL" --block'
desc = "ここでターミナルを開く"
# 選択したファイルを圧縮
[[manager.prepend_keymap]]
on = ["C"]
run = 'shell "zip -r archive.zip $@" --block'
desc = "選択を圧縮"
# ~/.config/yazi/theme.toml
[filetype]
rules = [
{ name = "*/", fg = "#7aa2f7" }, # ディレクトリ
{ mime = "text/*", fg = "#c0caf5" }, # テキストファイル
{ mime = "image/*", fg = "#bb9af7" }, # 画像
{ mime = "video/*", fg = "#e0af68" }, # 動画
{ mime = "audio/*", fg = "#9ece6a" }, # 音声
{ name = "*.rs", fg = "#ff9e64" }, # Rustファイル
{ name = "*.py", fg = "#7aa2f7" }, # Pythonファイル
{ name = "*.md", fg = "#73daca" }, # Markdown
]
| コマンド | 説明 |
|---|
ya pack -a owner/plugin | プラグインをインストール |
ya pack -i | package.tomlから全プラグインをインストール |
ya pack -u | インストール済みの全プラグインを更新 |
ya pack -l | インストール済みプラグインを一覧表示 |
| プラグイン | 説明 |
|---|
yazi-rs/plugins:full-border | ペインの周りにフルボーダー |
yazi-rs/plugins:git | Gitステータスインジケーター |
yazi-rs/plugins:chmod | ファイルパーミッションの変更 |
yazi-rs/plugins:max-preview | プレビューペインを最大化 |
yazi-rs/plugins:jump-to-char | Vimスタイルの文字ジャンプ |
DreamMaoMao/searchjump.yazi | 検索してファイルにジャンプ |
# ~/.config/yazi/package.toml
[plugin]
prepend_previewers = [
{ name = "*.md", run = "glow" },
]
# インストールと有効化
# ya pack -a yazi-rs/plugins:full-border
# ya pack -a yazi-rs/plugins:git
# ya pack -i
-- ~/.config/yazi/init.lua
-- インストールしたプラグインを有効化
require("full-border"):setup()
require("git"):setup()
-
すべてのプレビュー依存関係をインストールする — ffmpegthumbnailer、poppler、unar、jq、fd、ripgrep、imagemagickをインストールして完全なプレビュー体験を得ましょう。これらがないと、多くのファイルタイプが生テキストで表示されます。
-
シェルラッパーを使用する — y関数ラッパーを設定して、Yaziを終了したときに最後のディレクトリにcdされるようにしましょう。単なるビューアではなく、真のナビゲーションツールになります。
-
ディレクトリブックマークを追加する — keymap.tomlで頻繁に使うディレクトリのカスタムキーバインド(g dでダウンロード、g pでプロジェクト)を設定して瞬時にナビゲートしましょう。
-
zoxide統合を有効にする — zoxideがインストールされていれば、Yaziでzを押すと、手動でナビゲートすることなく、以前訪問したディレクトリにファジージャンプできます。
-
複数の場所での作業にタブを使用する — 複数のディレクトリで作業する必要がある場合、tで新しいタブを開き、1-9で瞬時に切り替えましょう。
-
列の比率をカスタマイズする — yazi.tomlのratio = [1, 4, 3]を調整して、画面サイズに合わせて親リスト、現在のディレクトリ、プレビューペインのバランスを取りましょう。
-
gitプラグインをインストールする — yazi-rs/plugins:gitプラグインはファイルの横にgitステータスインジケーターを表示し、変更済み、ステージ済み、未追跡のファイルを簡単に確認できます。
-
一括操作にビジュアルモードを使用する — Vでビジュアルモードに入り、j/kで選択を拡張し、y/x/dでバッチコピー/カット/削除しましょう。
-
テーマを設定する — theme.tomlをターミナルテーマに合った色でカスタマイズして統一感のある外観にしましょう。ファイルタイプごとに異なる色を設定して素早い視覚的識別が可能です。
-
内容検索を使用する — Sを押してripgrepでファイル内容を検索しましょう。インタラクティブファイルピッカーが組み込まれたgrep -rのようなものです。