🐃
Neovimのcommand-line window代替プラグイン
command-line windowの少し不便な部分を改善するため、
その機能を置き換えるプラグインcmdbuf.nvim
を作った。
動機
ノーマルモードが好きなのでノーマルモードで扱えるcommand-line windowも好き。
ただ、不便な点として普通のウィンドウではないことが挙げられる。
ウィンドウを閉じずにcommand-line windowから移動しようとすると以下のエラーが起きる。
`E11: Invalid in command-line window; <CR> executes, CTRL-C quits`
つまり、Enterで実行するかCTRL-C等で閉じないとcommand-line windowから出られない。
これを意識するのが面倒だった。
機能
nnoremap q: <Cmd>lua require('cmdbuf').split_open(vim.o.cmdwinheight)<CR>
nnoremap q/ <Cmd>lua require('cmdbuf').split_open(vim.o.cmdwinheight, {type = "vim/search/forward"})<CR>
nnoremap q? <Cmd>lua require('cmdbuf').split_open(vim.o.cmdwinheight, {type = "vim/search/backward"})<CR>
q:
, q/
, q?
を再現する機能を通常のバッファ・ウィンドウで提供する。
よって、何も意識せずに移動・終了できる。
また、本家にはない機能としてlua
コマンド用のcommand-line windowを実装している。
nnoremap ql <Cmd>lua require('cmdbuf').split_open(vim.o.cmdwinheight, {type = "lua/cmd"})<CR>
lua
を省略できるだけ。少し便利。
Discussion