yaziのインストールと設定(macOS)
yaziとは
Rust製の高速ターミナルファイルマネージャ。VS Codeのサイドバーのようにファイルをブラウズし、プレビューしながら操作できる。
インストール
brew install yazi Nerd Font(アイコン表示に必要)
brew install --cask font-hack-nerd-font インストール後、ターミナルのフォント設定を「Hack Nerd Font」に変更する。
- iTerm2: Settings → Profiles → Text → Font →
Hack Nerd Font
基本操作
| キー | 操作 |
|---|---|
j/k | 上下移動 |
l | フォルダ展開 / ファイルを開く |
h | 親ディレクトリに戻る |
/ | 検索 |
q | 終了 |
設定ファイル
設定は ~/.config/yazi/ に配置する。
yazi.toml - レイアウト設定
左の親ディレクトリパネルを非表示にして、ファイル一覧+プレビューの2カラムにする:
[mgr] ratio = [0, 1, 1] ratio はデフォルトで [1, 4, 3](親:一覧:プレビュー)。左を 0 にすると非表示。
keymap.toml - キーバインド
# Ctrl+OでFinderで表示 [[mgr.prepend_keymap]] on = "<C-o>" run = "shell -- open -R %h" desc = "Finderで表示" # Ctrl+Yでファイルパスをクリップボードにコピー [[mgr.prepend_keymap]] on = "<C-y>" run = "shell -- printf '%s' %h | pbcopy" desc = "パスをコピー" # Escで終了 [[mgr.prepend_keymap]] on = "<Esc>" run = "quit" desc = "終了" シェルコマンド内のファイル参照は %h(ホバー中のファイルパス)を使う。
注意: echo -n を使うと -n がリテラルとして出力される環境がある。printf '%s' を使うこと。
theme.toml - テーマ設定
ダーク背景のターミナルで文字が見づらい場合はテーマを設定する。Catppuccin Mochaベースの例:
[manager] cwd = { fg = "#89b4fa", bold = true } hovered = { reversed = true } [filetype] rules = [ { name = "*/", fg = "#89b4fa", bold = true }, { name = "*", fg = "#cdd6f4" }, ] プレビューのシンタックスハイライト
プレビューペインの色は theme.toml の [mgr] セクションで .tmTheme ファイルを指定する。yazi.toml や [preview] セクションではない点に注意。
# tmThemeファイルをダウンロード curl -sL "https://raw.githubusercontent.com/catppuccin/bat/main/themes/Catppuccin%20Mocha.tmTheme" \ -o ~/.config/yazi/Catppuccin-Mocha.tmTheme # theme.toml [mgr] syntect_theme = "~/.config/yazi/Catppuccin-Mocha.tmTheme" よくあるハマりポイント:
yazi.tomlの[preview]に書いても効かない- テーマ名(
"Catppuccin Mocha"等)を直接指定しても効かない。.tmThemeファイルのパスが必要 - flavorを使っている場合はflavorの
tmtheme.xmlが優先され、この設定は無視される
制限事項
- yaziはファイルマネージャであり、エディタ機能はない。ファイルを開くと
$EDITOR(vim等)が起動する - 独自の折りたたみロジック(特定条件でディレクトリを1行にまとめる等)は実装できない。そのような機能が必要な場合は専用ツールと併用する
- ファイルソートの制御に限界がある:
sort_dir_first = trueでディレクトリを先頭に、sort_dir_first = falseでファイルとディレクトリを混在にはできるが、「ファイルを先、ディレクトリを後」にするオプションは存在しない。sort_reverse = trueとの組み合わせも意図通りに動かない場合がある
This post is licensed under CC BY 4.0 by the author.