[[mini.nvim]]を入れて色々と試してみる。 ## インストール READMEより。 <div class="link-card"> <div class="link-card-header"> <img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/> <span class="link-card-site-name">GitHub</span> </div> <div class="link-card-body"> <div class="link-card-content"> <div> <p class="link-card-title">GitHub - echasnovski/mini.nvim: Library of 35+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience with minimal effort</p> </div> <div class="link-card-description"> Library of 35+ independent Lua modules improving overall Neovim (version 0.7 and higher) experience ... </div> </div> <img src="https://repository-images.githubusercontent.com/378088544/594bf345-4052-49dd-85ee-b5ab86137f3b" class="link-card-image" /> </div> <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ライクで興味深いので、しばらく試してみる。