NeoVim導入から1年たった時点でのプラグイン
こんにちは。N本ノック27日目ですね。魔改造のしすぎで頭がおかしくなってきた気がする静カニです。
ということで魔改造に定評があるNeoVimを導入してから一年がたちました。 ほぼ年中改造していたのでその結果(プラグイン一覧)を書いていこうと思います。 ちなみに分類は適当です。
プラグインマネージャー
プラグイン紹介で必要なのはとりあえずプラグインマネージャーですよね。自作です。
拡張系
manager-command manager-lazyload manager-lock manager-remove manager-ui manager-update
解説記事もあるので置いておきます。
ただvim.packがreleaseに乗ったのでvim.pack+lz.nに移行することを検討しているところです。
依存関係で入ってる系
- denops.vim…ddc.vim、ddu.vim、skkeletonあたりの依存。denoとvimを繋ぐ。
- nui.nvim…なんかUI系
- nvim-web-devicons…アイコン系
- plenary.nvim…なんかUI系
- promise-async…後述のnvim-ufoの依存。
ddc.vim系
闇の力で補完してくれるものです。
- ddc.vim…補完のcore。ただし本体で何かできるとは誰も言っていない。
- ddc-ui-native…標準の補完UIを使うようにするUI。
- ddc-filter-matcher_head…先頭からしかマッチしないfilter。
- ddc-fuzzy…fuzzy findをするfilter。
- ddc-filter-sorter_rank…類似度で並べ替るfilter。
- ddc-path…パスを出すsourcce。
- ddc-source-buffer…バッファの内容のsource。
- ddc-source-cmdline…コマンドのsource。
コマンドで補完使ってない - ddc-source-file…ファイル名のsource。pathとの違いは…存じ上げませんね
- ddc-source-lsp…LSPのsource。補完といえばLSP。LSPのいえば補完。
- ddc-source-lsp-setup…先述のddc-source-lspといい感じに連携してもらうためのもの。
作者さん記事系もあるのでメモ。
ddu.vim系
闇の力でなんか色々検索するものです。ほぼ使っていないという噂がある
- ddu.vim…core。本体で何かできるとは(ry
- ddu-ui-ff…fuzzy finder系のUIを提供するui。
- ddu-filter-converter_devicon…ファイル名とかにdeviconをつけてくれるfilter。
- ddu-filter-converter_hl_dir…ディレクトリの部分だけハイライトしてくれるfilter。
- ddu-filter-matcher_substring…部分的にマッチしているかで判定するfilter。
- ddu-filter-sorter_alpha…アルファベット順に並べ替えてくれるfilter。
- ddu-kind-file…file用のkind。openとかそういう操作を提供している。
- ddu-source-action…kindとかで追加されるactionの一覧を提供するsource。
- ddu-source-buffer…バッファ一覧を提供するsource。
- ddu-source-command_history…コマンド履歴のsource。
- ddu-source-file_rec…ファイル名のsource。子ディレクトリにも再帰的に見れる。
- ddu-source-ghq…gitリポジトリを管理するghqと連携できるsource。
- ddu-source-git_status…gitの変更があるファイルに飛べるsource。
- ddu-source-keymap…keymapを見にいけるsource。
- ddu-source-lsp…LSPのsymbolとかを表示できるsource。
- ddu-source-manager …最初に書いたmanager.nvimのログやプラグインを表示できるsource。
colorscheme
- tokyonight.nvim…多分一番最初に入れたプラグイン。 設定を間違えたとき以外ほぼ常にお世話になっている。
UI系
- bufferline.nvim…バッファを上に出すもの。ddu使っていない要因。
- status.nvim…自作statusline。 status-std,status-git, status-lspを入れてある。
- toggleterm.nvim…ターミナルを一発で出したりしまったりできるプラグイン。 かなり便利に使っている。
- vist.nvim…自作のoil.nvim風のフレームワークのようなもの。 今はvist-fileしか入れていないがbufferとかも作りたい。ddu使っていない要因その2。
- dashboard-nvim…起動したときに表示するものをカスタムできる。
- noice.nvim…メッセージを右下に置くようにしたりコマンド入力を真ん中にしたりできる。
- dropbar.nvim…bufferlineの下にパンくずリストを表示してくれる。
- numb.nvim…
:1とかで移動するときに入力中に移動してくれる。 - indent-blankline.nvim…インデントを使ってよしなに表示してくれる。
- hlchunk.nvim…インデントでよしなにその2。
- satellite.nvim…スクロールバーを表示してくれる。
- markview.nvim…マークダウンをうまく表示してくれる。 高機能すぎてたまに本来どう書いてあったのか分からなくなるのが玉に瑕。
- smear-cursor.nvim…移動のときにアニメーションをつけてくれる。
- neoscroll.nvim…Ctrl+dとかのスクロールを滑らかにしてくれる。
- nvim-spectre…プロジェクト内の置換とかに便利なUIを提供してくれる。使ってない。
- nvim-ufo…fold強化。fold自体ほぼ使ってない。
- pantran.nvim…翻訳用のUIを提供する。ほぼ使ってない。
- nvim-syntax-info…なんか情報を表示してくれる。使ったことない。
テキスト編集支援系
- nvim-autopairs…
()とかをいい感じにセットで入力してくれるもの。必須。 - jumpcursor.vim…特定の場所にジャンプする系。 私の中で活用したいけど活用してない系プラグイン代表格。
- nvim-surround…
""とか向けのtextobjectを提供しているプラグイン。 - treesj…同じ意味で長くしたり短かくしたりするプラグイン。 使いたい場面があまり思い浮かばなかったので消すのも検討。
- nvim-various_textobjs…textobjectを追加するプラグイン。活用できていない。
- Comment.nvim…コメントをtoggleしたりできるプラグイン。必須。
- tabset.nvim…言語によってインデントのサイズを変更できるプラグイン。結構重宝している。
- dial.nvim…数の増減を強化するプラグイン。Ctrl+AがTmuxに横取りされているせいでほぼ使えていない。
- in-and-out.nvim …囲まれている系統のものから出られるキーマップを提供するはず。動いてない。
- f-string-toggle.nvim …f文字列をtoggleするプラグイン。最近Python書かないから使ってない。
- sort.nvim…選択範囲をsortするコマンドを提供する。気持ちいいのでたまによく使ってる。
- register.nvim …レジスタの内容を一覧表示してくれる。ただwhich-keyでリアルタイムで確認できたりするので使ってない。
- undotree …undoのtreeを表示してくれる。使ってはいないが使うときは使いそうなので抜かないでおくかあな。
- which-key.nvim…キーマップの候補を表示してくれる。必須。
- react-extract.nvim …Reactのコンポーネントを別ファイルに切り出してくれる。
ハイライト系
- vim-illuminate…同じ変数をハイライトしてくれる
- vim-better-whitespace…行末の空白を可視化してくれる。 Vimの仕様上仕方ないがTerminalで消したときにも可視化してくるのが玉に瑕。
- smart-column.nvim…80文字制限とかを可視化してくれる。 これを見て修正することはないが気持ちいいので放置している。
- oklch-color-picker.nvim …色をハイライトしてくれる。oklch形式のハイライトができなくてこれに乗り換えた記憶がある。
Treesitter系
ハイライト系の中でもTreesitterを使っているもの
- nvim-treesitter…Treesitterのパーサーをインストールしてくれるプラグイン。
- nvim-treesitter-context …なんかいい感じに選択範囲を広げてくれるもの。ほぼ使ったことない。
- nvim-treesitter-textobjects …Treesitterを使って意味のある関数単位の移動とかをできるようにする。なんか動いてない。
- nvim-ts-autotag…XML系譜のタグを開けると勝手に閉じてくれたりする。 ちなみに今見たら遅延読み込み非推奨なのにがっつり遅延読み込みしてた。
- hlargs.nvim…引数をハイライトしてくれる。利益?ちょっとよく分かりませんね。
- nvim_context_vt…そのブロックがどこの行から始まったかが分かる。 うまく最初からenableすることができなかったためにほぼ使われていないけど便利そうなプラグイン。
- todo-comments.nvim…TODOとかのコメントをハイライトしてくれる。 Treesitterなしでも動くっぽいが多分オンで動かしているのでこちらへ。
LSP系
- fidget.nvim…右下にLSPの処理をいい感じに出してくれる。
- nvim-lspconfig…LSPのいい感じの設定集。これ抜いたときにLuaでPythonの警告が出てきてビビった。
- conform.nvim…フォーマッタを対応するLSP以外にできるもの。 何が言いたいかというとLuaLSではなくStyLuaが使えるということ。
- lazydev.nvim…nvim luaをいじるときに必須。これないと
requireだけでエラーが出る。 - renamer.nvim…シンボルの名前を変えられるプラグイン。たまに使う。
- trouble.nvim…下部に専用画面を出してLSPの警告とかを表示してくれる。
- tiny-inline-siagnostic.nvim …インラインでいい感じにLSPの警告を表示してくれる。
Git系
- gitsigns.nvim…ファイル表示中にgit差分を出してくれる。
- blamer.nvim…その行が最後にどのコミットで変更されたか(blame)を見れるプラグイン。
- lazygit.nvim…lazygitのneovimラッパー。正直これのヘビーユーザー。
タスクランナー
- overseer.nvim…タスクをいい感じに実行できる。
日本語系
- vimdoc-ja…Vimのドキュメントの日本語版。
- nvimdoc-ja…NeoVimのドキュメントの日本語版
- skkeleton…日本語入力エンジン。OSのIME…何それ美味しいの?
スニペット系
- denippet.vim…denops製のsnippetエンジン。
- friendly-snippets…スニペット集。どちらかというとデータ。
ネタ系
- 2048.nvim…NeoVim上で2048ができる。
- cellular-automaton…ライフゲームとかができる。
その他
- mkdir.nvim…勝手に親ディレクトリを作ってくれる。ただ実際に使ったことはない気がする。
- nvim-ghost.nvim…ブラウザ連携。実際には別経路で起動して貼り付けをしているので使っていない。
- vim-tmux-navigator …Vimのウィンドウ分割とTmuxの画面分割したものの行き来を直感的にしてくれる。 そもそもノートPCなので画面分割をしない派なので使ってない。
- capture.vim…コマンドの出力結果をバッファに書き出してくれる。必須。
まとめ
私の環境には使っていないプラグインが大量にある。
