[[mini.nvim]]を入れて色々と試してみる。 ## インストール READMEより。 <div class="link-card-v2"> <div class="link-card-v2-site"> <img class="link-card-v2-site-icon" src="https://github.githubassets.com/favicons/favicon.svg" /> <span class="link-card-v2-site-name">GitHub</span> </div> <div class="link-card-v2-title"> GitHub - nvim-mini/mini.nvim: Library of 40+ independent Lua modules improving Neovim experience with minimal effort </div> <div class="link-card-v2-content"> Library of 40+ independent Lua modules improving Neovim experience with minimal effort - nvim-mini/mini.nvim </div> <img class="link-card-v2-image" src="https://repository-images.githubusercontent.com/378088544/4b3b5812-a478-4919-80f9-c63bea74218c" /> <a href="https://github.com/echasnovski/mini.nvim/tree/main"></a> </div> ## 導入したモジュール 以下の4つ。 - [[mini.clues]] - [[mini.files]] - [[mini.indentscope]] - [[mini.cursorword]] ## 設定 [[init.lua]]はこんな感じ。 ```lua { 'echasnovski/mini.nvim', version = false, event = { 'BufNewFile', 'BufRead' }, keys = { -- mini.filesオープン用のショートカット { '<C-j>w', ':lua MiniFiles.open()<CR>' } }, config = function() local miniclue = require('mini.clue') require('mini.clue').setup({ window = { -- 1000は遅いので500にする delay = 500 }, triggers = { -- Leader triggers { mode = 'n', keys = '<Leader>' }, { mode = 'x', keys = '<Leader>' }, -- Built-in completion { mode = 'i', keys = '<C-x>' }, -- `g` key { mode = 'n', keys = 'g' }, { mode = 'x', keys = 'g' }, -- Marks { mode = 'n', keys = "'" }, { mode = 'n', keys = '`' }, { mode = 'x', keys = "'" }, { mode = 'x', keys = '`' }, -- Registers { mode = 'n', keys = '"' }, { mode = 'x', keys = '"' }, { mode = 'i', keys = '<C-r>' }, { mode = 'c', keys = '<C-r>' }, -- Window commands { mode = 'n', keys = '<C-w>' }, -- `z` key { mode = 'n', keys = 'z' }, { mode = 'x', keys = 'z' }, }, clues = { -- Enhance this by adding descriptions for <Leader> mapping groups miniclue.gen_clues.builtin_completion(), miniclue.gen_clues.g(), miniclue.gen_clues.marks(), miniclue.gen_clues.registers(), miniclue.gen_clues.windows(), miniclue.gen_clues.z(), }, }) require('mini.files').setup({ mappings = { -- ファイルを開くのはEnterでないとキツイ go_in_plus = '<CR>', }, }) require('mini.indentscope').setup() require('mini.cursorword').setup() -- デフォルトのハイライトは薄すぎて見えないのでカスタマイズ vim.cmd [[highlight MiniCursorword guibg=darkcyan guifg=lightgray]] end } ``` 基本は設定どおりだが何か所か修正。詳細はコメントを参照。 [[mini.clues]]と[[mini.indentscope]]は新しい機能なので様子見。直感的にはどちらも役立ちそうな気がしている。 [[mini.files]]は[[nvim-tree.lua]]と引き換えにインストールしたので困ったことが出てくるかもしれない。分割Openなどのコマンドはなさそうだし、ファイル操作は[[挿入モード]]で直接ファイルツリーを変更していく方式だから癖はありそう。1ファイルをいじる場合は面倒かもしれないけど、これはこれでVimライクで興味深いので、しばらく試してみる。