MiniMax で始める、読んで育てる Neovim 設定
この
Vim駅伝は
MiniMax とは
Mini と
MiniMax とmini.nvim を
LazyVim や
似たような
この
MiniMax の始め方
Neovim のインストール
何は
MiniMax プロジェクトのクローン
MiniMax プロジェクトを
# git clone の場合
git clone --filter=blob:none https://github.com/nvim-mini/MiniMax ./MiniMax
# ghq の場合
ghq get --partial blobless https://github.com/nvim-mini/MiniMax
セットアップ
NVIM_APPNAME=foo を$XDG_CONFIG_HOME/nvim ではなく$XDG_CONFIG_HOME/foo を
既存の
MiniMax は
# git clone した場合
NVIM_APPNAME=nvim-minimax nvim -l ./MiniMax/setup.lua
# ghq の場合
NVIM_APPNAME=nvim-minimax nvim -l "$(ghq list -p nvim-mini/MiniMax)/setup.lua"
設定がNVIM_APPNAME を
NVIM_APPNAME=nvim-minimax nvim
初回起動時には、y を
通知が
MiniMax の構成
生成された~/.config/nvim-minimax/ は
※ 以下は
~/.config/nvim-minimax/
├── init.lua -- 最初に実行されるファイル
├── nvim-pack-lock.json -- vim.pack のロックファイル
├── plugin/
│ ├── 10_options.lua -- vim.opt 系の基本オプション
│ ├── 20_keymaps.lua -- Leader キー周りとマッピング
│ ├── 30_mini.lua -- mini.* モジュールのセットアップ
│ └── 40_plugins.lua -- mini 以外のプラグイン定義
├── snippets/
└── after/
vim.pack について
Neovim 0.12 では、vim.pack と
MiniMax では、vim.pack の
vim.pack をmini.nvim や
vim.pack は、mini.deps の
プラグイン管理はvim.pack.add() をmini.deps でnvim-pack-lock.json)が
詳しくはvim.pack ガイドを
読む
Neovim をmini.starter に
ここからinit.lua を
<Space> + e + i
<Space> はmini.clue がplugin/10_options.lua やplugin/20_keymaps.lua に
英語がREADME や
init.lua
mini.nvim と
mini.nvim は
あわせて、Config.now() / Config.later() とevent / ft のようなConfig.on_event() / Config.on_filetype() が
各機能のplugin/ 以下にinit.lua 自体は
plugin
設定の
一般的なlua/ 配下にplugin/ 配下をinit.lua を
これにrequire() も
10_options.luavim.opt系の基本オプションと Leader キー( <Space>)の設定
20_keymaps.lua<Leader>f=検索 /g=Git /l=LSP のようにグループ分けされた キーマップ mini.clueのガイド表示とも 連携
30_mini.lua- MiniMax の
主役。 30 を 超える mini.*モジュールをセットアップ
- MiniMax の
40_plugins.lua- mini 以外
( nvim-treesitter・nvim-lspconfig・conform.nvim・friendly-snippets)をvim.pack.add()で追加
- mini 以外
<Space> をf / g / l を20_keymaps.lua で
snippets
snippets/ はmini.snippets が
MiniMax のglobal.json にはfriendly-snippets と
自分用の
after
after/ は
MiniMax では
after/lsp/lua_ls.lua- Neovim 0.12 の
vim.lsp.config方式に よる 言語サーバーの 個別設定。 サーバーごとに ファイルを 分けられます
- Neovim 0.12 の
after/ftplugin/markdown.lua- ファイルタイプ別の
設定
- ファイルタイプ別の
after/snippets/lua.json- 言語別の
スニペット
- 言語別の
LSP の40_plugins.lua のvim.lsp.enable() とafter/lsp/ を
動かす
設定を
<Space>ff- ファイル検索(
mini.pick)
- ファイル検索(
<Space>fggrep検索(mini.pick)
<Space>ed- ファイルエクスプローラー(
mini.files)
- ファイルエクスプローラー(
gc- コメントの
切り 替え( mini.comment)
- コメントの
saiw)- カーソル下の
単語を ()で囲む( mini.surround)
- カーソル下の
どれも<Space> をmini.clue が
育てる
MiniMax で
Neovim をはじめよう feat. mini.nvim
mini.nvim で
Vim のmini.nvim モジュールの
dotfiles 探訪
dotfiles リポジトリを
おわりに
Neovim ディストリビューションを
その


