
mini.nvim 探訪 Day 1: 直感的なファイル操作を実現する mini.files
こんにちは! Neovimのプラグイン構成、複雑になりがちですよね。
「機能は欲しいけど、重厚長大なプラグインは入れたくない…」 「設定が複雑すぎてメンテナンスできない…」
そんな悩みを解決してくれるのが、mini.nvim です。
mini.nvim とは?
mini.nvim は、40以上の独立したLuaモジュールを集めたライブラリです。 それぞれのモジュールは「単機能」「軽量」「最小限の設定」という哲学で作られており、必要なものだけをピックアップして使うことができます。
今日から、この素晴らしい mini.nvim のモジュールを1つずつ紹介していくシリーズを始めます!
記念すべきDay 1は、ファイルエクスプローラー mini.files です。
mini.files とは
mini.files は、Millerカラム(Miller columns) 方式を採用したファイルエクスプローラーです。
macOSのFinderの「カラム表示」のようなUIで、ディレクトリ階層を横に並べて表示します。
しかし、ただのファイラーではありません。最大の特徴はこれです:
「ファイルシステムを、テキストバッファのように編集できる」
どういうことかというと、表示されているファイル名を書き換えて保存するだけでリネームができたり、行を削除すればファイルが削除されたりするのです。
oil.nvim に似ていますが、カラム表示による階層移動のしやすさが魅力です。
インストール
lazy.nvim を使用している場合のインストール例です。
mini.nvim 全体をインストールして必要なモジュールだけ読み込む方法と、個別のライブラリとしてインストールする方法がありますが、ここでは mini.nvim パッケージとして導入します。
return {
{
"echasnovski/mini.nvim",
version = false,
config = function()
-- ここに必要なモジュールのsetup記述を追加していきます
require("mini.files").setup()
end,
},
}
個別に導入したい場合はこちら:
return {
{
"echasnovski/mini.files",
version = false,
config = function()
require("mini.files").setup()
end,
},
}
設定例
mini.files はデフォルトで十分使いやすいです。githubのreadmeを参考に設定を記述します。
require("mini.files").setup({
-- ウィンドウの設定
windows = {
preview = true, -- ファイルのプレビューを表示するか
width_focus = 30, -- フォーカスされているカラムの幅
width_preview = 50, -- プレビューの幅
},
-- キーマップの設定(デフォルトでも使いやすいですが明示的に)
mappings = {
close = 'q',
go_in = 'l', -- 右へ移動(ディレクトリに入る/ファイルを開く)
go_in_plus = '<CR>', -- エンターでも開く
go_out = 'h', -- 左へ移動(親ディレクトリへ)
go_out_plus = '-', -- マイナスキーでも親へ
reset = '<BS>', -- バックスペースでリセット
reveal_cwd = '@', -- カレントディレクトリを表示
show_help = 'g?', -- ヘルプ表示
synchronize = '=', -- 編集を反映(保存)
trim_left = '<',
trim_right = '>',
},
})
使い方:ファイル操作の革命
1. ナビゲーション
起動すると、カラムが表示されます。
jk: 上下移動hl: 親ディレクトリ/子ディレクトリへ移動
Vimのカーソル移動そのままでディレクトリを渡り歩ける感覚は、一度味わうと病みつきになります。
2. ファイルの作成・リネーム・移動・削除
ここが mini.files の真骨頂です。
リネームしたいとき:
普通に cw (change word) などでファイル名を書き換えます。
ファイルを作成したいとき:
o などで新しい行を作り、ファイル名を書きます。
ディレクトリを作りたい場合は、名前の最後に / を付けます(例: new_dir/)。
ファイルを移動したいとき: 行をヤンクやデリートして、移動先のディレクトリのカラムにペーストします。
削除したいとき:
dd で行を消します。
変更の適用:
編集が終わったら、= キーを押すか、:w で保存します。
すると、確認ダイアログが出て、実際のファイルシステムに変更が反映されます。
なぜ mini.files なのか?
Neo-treeなどのツリー型エクスプローラーも素晴らしいですが、常にサイドバーに出しておくほどではない、というミニマリスト思考の方に mini.files は最適です。
- 必要な時だけ呼ぶ: フローティングウィンドウでサッと作業して、終わったら消える。
- Vimの操作感: ファイル操作に専用のキーバインドを覚える必要がなく、テキスト編集のスキルがそのまま使えます。
- 視認性: カラム表示は、深い階層のディレクトリ構造を把握するのに非常に適しています。
ぜひ、あなたのNeovimライフに mini.files を取り入れてみてください。
きっと、「ファイル操作ってこんなに楽だったんだ」と驚くはずです。
次回 Day 2 は、テキスト編集を加速させる mini.ai を紹介する予定です。お楽しみに!