👍

Vimmer が紹介する「いぶし銀」なプラグインまとめ(後編)

2023/08/21に公開

はじめに

本記事は、いぶし銀プラグイン企画の結果発表の後編です。
Vimmer が実際に普段の編集を行う上で、なくてはならないと感じるプラグインを紹介していきます。前編は以下の記事を参照してください。

https://zenn.dev/vim_jp/articles/2023-07-21-vim-accomplished-plugins-result-1

後編では、94件の回答のうち前編で紹介しなかったもの全てを紹介します。

全部で52個もあるため、プラグインの大まかな分類ごとに分けて紹介しています。一度に全て読むのは大変ですから、「目次」から気になるカテゴリを選んで読み進めることをおすすめします。

紹介フォーマット

前編の記事同様、各プラグインには以下の項目を設けています。

  • プラグイン名

  • プラグインへのリンク

  • 概要

    • (一応)紹介記事なので、各プラグインに短い概要を付けました。
    • 引用している箇所は各プラグインのドキュメントの冒頭からそのまま引っ張ってきたものです。
    • 必要そうだったものについては、引用以外に説明を追加しています。
  • コメント

    • アンケートで回答いただいた理由を羅列しました。
    • 原文をそのまま掲載しています。
    • プラグインによっては作者本人からのコメントも含まれていることがあります。

カーソル移動の拡張(モーション、テキスト選択、検索)

Vim はマウスを使わずに快適にテキスト編集ができるよう設計されています。そのため、カーソル移動に関するコマンド(モーションやテキストオブジェクトなど)が何種類もあり、それらを拡張するプラグインも沢山あります。ここでは、そんなカーソル移動をより便利にするプラグインを紹介します。

bkad/CamelCaseMotion

https://github.com/bkad/CamelCaseMotion

概要

This script defines motions similar to w, b, e which do not move word-wise (forward/backward), but Camel-wise; i.e. to word boundaries and uppercase letters.

is_vimmerisVimmer といった snake_case や camelCase の識別子の上で、英単語としての単語境界(vimmerVimmer の開始位置など)にジャンプできるモーションを提供します。

コメント

camelcase とか snake_case な単語の境界に移動するモーション。getHoge を putHoge に変えるとかが簡単にできるので便利

deris/columnjump

https://github.com/deris/columnjump

概要

This is Vim plugin to move same column non-space character.

現在のカーソルと同じ列 (column) の非空白文字に移動するモーションを提供します。vim-edgemotion と似ているかもしれません。

コメント

縦方向にまっすぐ移動するためのプラグイン。Python などインデントが重要な言語で、あるインデントレベルを簡単に移動できて便利

kana/vim-smartword

https://github.com/kana/vim-smartword

概要

smartword is a Vim plugin to provide {motion}s on |word|s which are smarter than the built-in ones in some sense.

通常の w / b モーションでは、記号を多く含むテキスト上で以下のように移動します(# がカーソル移動位置):

	<a href="http://www.vim.org/">www.vim.org</a>
	 # #   # #   #  #  ##  ##  #  #  ##  ##  # #

vim-smartword を用いると、記号を無視してアルファベットの頭に移動するようになります。つまり、以下のようになります。

	<a href="http://www.vim.org/">www.vim.org</a>
	 # #     #      #   #   #     #   #   #    #

コメント

w や b での移動時に記号を無視して移動する。ずっと使っているのでむしろこれがない環境だと移動が遅く感じてしまう。omap はしないようにして移動だけに適用するのがおすすめ。

easymotion/vim-easymotion

https://github.com/easymotion/vim-easymotion

概要

EasyMotion provides a much simpler way to use some motions in vim. It takes the <number> out of <number>w or <number>f{char} by highlighting all possible choices and allowing you to press one key to jump directly to the target.

少ないキー数で画面上の様々な場所に遷移できるモーションを提供します。README にデモ動画があります。

コメント

easymotion-{j,k,lineforward,linebackward}だけ使ってますがシュッと移動できるのでべんり、若干古くなってきてるがまだまだいける

phaazon/hop.nvim

https://github.com/phaazon/hop.nvim

概要

Hop is an EasyMotion-like plugin allowing you to jump anywhere in a document with as few keystrokes as possible.

vim-easymotion と類似した機能を Lua で実装し直した Neovim 用プラグインです。

コメント

直感的なカーソル移動ができる。導入すれば病みつきになる。

hrsh7th/vim-searchx

https://github.com/hrsh7th/vim-searchx

概要

検索モーションを拡張するプラグインです。

  • Jump to the specific match via marker (like easymotion)
  • Move cursor during searching
  • Input converter
  • Improved jumplist management

コメント

インクリメンタルサーチが便利になる。標準のインクリメンタルサーチからほとんど違和感なく切り替えられる。

lambdalisue/kensaku.vim

https://github.com/lambdalisue/kensaku.vim

概要

Kensaku (kensaku.vim) は Migemo を利用してローマ字のまま日本語検索を行う最低限の機能を提供するプラグインです。
既存の Migemo プラグインとは異なり JavaScript で実装された jsmigemo を利用するため C/Migemo のインストールは不要です。

ローマ字入力のまま日本語検索を行うことのできる denops.vim 製プラグインです。適切に設定すれば、検索画面で nihon と打つだけで 日本二本 といった文字列にマッチさせることができます。

コメント

migemoがないと生きていけないため、プラグインへの組み込みを簡易にしてくれたところがうれしいです。

テキスト編集機能の拡張(オペレータなど)

テキストを実際に編集する際に役立つプラグインを集めました。

kana/vim-operator-user

https://github.com/kana/vim-operator-user

概要

operator-user is a Vim library plugin to provide an easy way to define your own |operator|.

Vim のオペレータを簡単に定義するための関数を提供するプラグインです。
後述の vim-operator-replace など、オペレータを提供するプラグインの中には、これを用いて実装されているものもあります。

コメント

operatorの拡張、Vimの根っこの部分の部分を強くするのでべんり

kana/vim-operator-replace

https://github.com/kana/vim-operator-replace

概要

operator-replace is a Vim plugin to provide an operator to replace a specified text with register content.

選択範囲を指定したレジスタの内容で上書きするオペレータを提供するプラグインです。
vim-operator-user に依存しています。

コメント

レジスタを汚さない

kylechui/nvim-surround

https://github.com/kylechui/nvim-surround

概要

|nvim-surround| is a plugin for efficiently manipulating surrounding left/right delimiter pairs, e.g. parentheses, quotes, HTML tags, and more.

前回紹介した vim-sandwich と同様、選択範囲を括弧で囲むオペレータを提供するプラグインです。ただし vim-sandwich が Vim/Neovim 両対応であるのに対して、こちらは Neovim 専用です。

コメント

他surround系でも。vimのテキストオブジェクトが便利なものと感じる機能。vimを使う理由の何割かはこれ。

tommcdo/vim-exchange

https://github.com/tommcdo/vim-exchange

概要

This plugin provides |operators| for exchanging text in two places.

指定したテキストオブジェクト単位で入れ替えを行うオペレータを提供するプラグインです。たとえば cxiw で2つの単語を入れ替えることができます。

コメント

任意のテキストオブジェクト2つを入れ替える。リファクタリングや何かの順番を変えるなどに便利

tpope/vim-abolish

https://github.com/tpope/vim-abolish

概要

Abolish lets you quickly find, substitute, and abbreviate several variations of a word at once. By default, three case variants (foo, Foo, and FOO) are operated on by every command.

置換操作における大文字・小文字の維持などを便利に行ったり、独自文法で置換対象を便利に拡張したりするプラグインです。たとえば

:%Subvert/facilit{y,ies}/building{,s}/g

は以下の6つを同時に行うのと同等となります。

:%s/facility/building/g
:%s/Facility/Building/g
:%s/FACILITY/BUILDING/g
:%s/facilities/buildings/g
:%s/Facilities/Buildings/g
:%s/FACILITIES/BUILDINGS/g

その他、短縮入力に関する機能なども提供しています。

コメント

置換操作で良い感じにCamelCaseを維持したり、二つの対象を入れ替える 置換操作ができる。 例えば :S/{one,two}/{two,one}/gでoneをtwoにtwoをoneに変換できる。置換操作の最後のピースって感じ。これなしでは編集できない。

Vonr/align.nvim

https://github.com/Vonr/align.nvim

概要

align.nvim supports aligning lines to the most feasible leftward or rightmost character, string, or Lua pattern.

カンマ区切りの文字列などを整列させる Neovim 用プラグインです。


デモ(READMEより抜粋)

コメント

行末のコメントの開始位置揃えるときに重宝しています。

入力補完・スニペット補完

neoclide/coc.nvim

https://github.com/neoclide/coc.nvim

概要

Vim/Neovim における代表的な Language server protocol (LSP) のクライアントの1つであり、スマートな補完や定義ジャンプ、リネームやコードアクションといった便利な機能を様々な言語で実現するプラグインです。

  • Vim/Neovim 両方をサポートしていますが、外部依存として node.js の実行環境が必要です。
  • 補完や言語サーバのインストール等が coc.nvim 1つで完結するのが特徴です。 coc.nvim の拡張は基本的にほとんど coc.nvim の UI 上からインストールできます。プラグインというよりフレームワークと呼ぶのが近いかもしれません。

コメント

「複雑な設定なし」に、様々な言語の補完を利用できるから

hrsh7th/nvim-cmp

https://github.com/hrsh7th/nvim-cmp

概要

A completion engine plugin for neovim written in Lua. Completion sources are installed from external repositories and "sourced".

Neovim 用の補完エンジンです。様々な補完ソースを組み合わせて、自分好みの補完を出すことができます。特に nvim-lsp(Neovim ビルトインの LSP クライアント)ユーザに人気がある印象です。

コメント

leximaを使うなら第一選択肢に入ってくる自動補完プラグインで、挙動が滑らかなのでストレスを感じることがほぼないのが最高です。

hrsh7th/nvim-insx

https://github.com/hrsh7th/nvim-insx

概要

This plugin makes it easy to define & manage complex mappings.

挿入モードで括弧の自動補完などの便利な挙動を実現するプラグインです。具体的にどんなことができるかについては、 README のデモ動画を見るのが早いでしょう。

コメント

insert mode をめちゃくちゃ便利にしてくれる。

windwp/nvim-autopairs

https://github.com/windwp/nvim-autopairs

概要

A super powerful autopair plugin for Neovim that supports multiple characters.

前回紹介した lexima.vim と同様、括弧などの自動補完を実現するプラグインです。ただしこちらは Neovim 専用です。

コメント

自動でカッコを入れてくれるのが便利。abecodes/tabout.nvimと合わせて使うと更に便利だと思います。

hrsh7th/vim-vsnip

https://github.com/hrsh7th/vim-vsnip

概要

スニペット(補完時に特定のテンプレート文字列を展開する機能)を提供するプラグインです。SnipMate ライクな記法でスニペットを登録できます。

コメント

snipmate形式のサポートを(自分で)入れたのだが書きやすくてグッド。スニペットや補完はそれを前提にした入力を体が覚えているので、無いと生産性が下がる

yuki-yano/lexima-alter-command.vim

https://github.com/yuki-yano/lexima-alter-command.vim

概要

This plugin abbrev expands the Ex command in cmdline.

lexima.vim を用いて、コマンドラインモードでの短縮入力 (abbrev) を簡単に登録できるようにするプラグインです。

コメント

自分で定義した数キーで長いコマンドを実行。これがないとコマンドが覚えられない。tyru/vim-altercmd をもともと使ってたけど、今はこちらなので。

ファイラ

ファイラ (file explorer) とは、特定のディレクトリに存在するファイルを一覧表示したり、操作したりするプラグインです。
前回紹介した fern.vim 含め、たくさんのファイラが開発されています。「2020秋 Vim のファイラー系プラグイン比較」などの記事を参考にしつつ、自分にあったものを探してみるとよいかもしれません。

mattn/vim-molder

https://github.com/mattn/vim-molder

概要

The molder is minimal file explorer the features that most of explorer plugins implement.


デモ(READMEより抜粋)

最小限の機能のみ備えたファイラです。単体ではファイルの追加等の操作ができませんが、
mattn/vim-molder-operations というプラグインを追加で入れることで実現できるようになります。

コメント

netrw?知らない子ですね… シンプルisベスト

stevearc/oil.nvim

https://github.com/stevearc/oil.nvim

概要

A vim-vinegar like file explorer that lets you edit your filesystem like a normal Neovim buffer.

通常のバッファと同じような使用感でファイル操作ができることを特徴とするファイラです。README にデモ動画があります。

コメント

bufferのようにfileを作ったり消したり編集できるのが自分の中で革命的だったから

ファジーファインダー

ファイルやコマンドなどを「曖昧に (fuzzy)」検索し、ファイルを開いたりコマンドを実行したりするツールをファジーファインダーと呼びます。
Vim/Neovim にはファジーファインダープラグインが非常にたくさんあります。「Vimにたくさんあるファジーファインダー系プラグインを比較してみる」といった記事を参考に、お気に入りを見つけてみても良いかもしれません。

nvim-telescope/telescope.nvim

https://github.com/nvim-telescope/telescope.nvim

概要

telescope.nvim is a highly extendable fuzzy finder over lists. Built on the latest awesome features from neovim core.

人気のある Neovim 用のファジーファインダーです。
デフォルトで、特定のディレクトリ下のファイルや開いているバッファなどを選択できる他、拡張を入れることでより多くのものを選択することができます。


デモ(READMEより抜粋)

コメント

ファイルもバッファーなんでも検索できちゃう便利屋さん。入れとかないと心配になる。

mattn/ctrlp-launcher

https://github.com/mattn/ctrlp-launcher

概要

This is extension plugin for CtrlP. This provide launcher to kick something like commands, external commands, etc.

ファジーファインダーの1つである ctrlp.vim を用いて、コマンドを簡単に選択して実行できるようにするプラグインです。

コメント

自分でランチャー用のファイルを作ってCtrlPからコマンドを実行。lexima-alter-command で定義するほどじゃないけどよく使うものはこれで。

gw31415/fzyselect.vim

https://github.com/gw31415/fzyselect.vim

概要

fzyselect.vim is a simple fuzzy selector plugin of Vim.

ファジーファインダとしての選択 UI を提供するプラグインです。Neovim の vim.ui.select として設定することもできます。

コメント

ファジーファインダ。バッファ移動や削除機能をこのUIで作ってる。我ながら痒いところに手が届くものが作れたと思っている

カラースキーム

ここで紹介するのは、Vim/Neovim の UI やシンタックスハイライトの配色を変更できるプラグインです。ビビっとくるカラースキームがあったら是非入れてみてください。

catppuccin/nvim

https://github.com/catppuccin/nvim

概要

Soothing pastel theme for NeoVim


デモ(README より抜粋)

コメント

色々なcolorschmeを試した結果、一番好みの色でした。

cocopon/iceberg.vim

https://github.com/cocopon/iceberg.vim

概要

Iceberg is well-designed, bluish color scheme for Vim and Neovim.


デモ(README より抜粋)

コメント

色が纏まっていてかつ、かっこかわいいところが好きです。
定期的に色々なカラースキームを試してみてはこれに戻ってきています。

shaunsingh/nord.nvim

https://github.com/shaunsingh/nord.nvim

概要

Nord.nvim is meant to be a modern colorscheme written in lua for NeoVim that supports a lot of the new features added to NeoVim like built-in LSP and TreeSitter


デモ(README より抜粋)

コメント

Nord系カラースキームはいいぞ。

バッファ・ウィンドウ・タブページ操作

Vim の「画面」の構成要素である、バッファ・ウィンドウ・タブページに関する操作を拡張するプラグインを紹介します。

kyoh86/wipeout-buffers.nvim

https://github.com/kyoh86/wipeout-buffers.nvim

概要

wipeout-buffers provides functions to close buffers.

コメント

拙作のプラグイン。長い時間使って溜まったバッファを一度に閉じて、片付けたいときに便利。

Shougo/pum.vim

https://github.com/Shougo/pum.vim

概要

pum.vim is the framework library to implement original popup menu completion.

独自の補完用ウィンドウを提供するプラグインです。

コメント

Vim の補完ウインドウの欠点を解消している。プラグインと疎結合である。Vim でも動作する。設定が豊富でキーバインドも自由。

simeji/winresizer

https://github.com/simeji/winresizer

概要

Very simple vim plugin for easy resizing of your vim windows.

Resize mode, Window Move mode といったサブモードを用いてウィンドウ操作を簡便に行う機能を提供するプラグインです。


Resize mode のデモ(README より抜粋)

コメント

ウィンドウの状態編集の直感かつ早い方法提供する。これに代替できるものを知らない。これでいいやってなる

yukimemi/dps-hitori

https://github.com/yukimemi/dps-hitori

概要

Plugin similar to neovim-remote and vim-singleton using denops.vim.

複数の Vim インスタンスを開くのではなく、既に開いている Vim インスタンスを用いてファイルが開けるようにするプラグインです。 denops.vim 製です。

コメント

Windows 環境で Neovim 使用、かつ Terminal でなく GUI で Neovim-Qt などを使って、一つのウィンドウで行きたい場合にべんり。じゃないとウィンドウいっぱい散らかっちゃう・・・。 Vim の場合は thinca/vim-singleton で

外部コマンド連携(ターミナル操作・タスクランナー)

Vim/Neovim のターミナルと連携したり、タスクランナーとして外部コマンドを実行したり、ブラウザと連携してリンクを開いたり…といった、Vim/Neovim 外の機能と連携するためのプラグインです。

voldikss/vim-floaterm

https://github.com/voldikss/vim-floaterm

概要

Vim/Neovim のターミナルをフローティングウィンドウで表示したり、管理しやすくしたりするプラグインです。

  • Support neovim floatwin and vim8 popupwin
  • Manage multiple terminal instances
  • Customizable terminal window style
  • Switch/preview floating terminal buffers using fuzzy-finder plugins such as denite.nvim or fzf, etc.
  • Use with other external command-line tools(ranger, fzf, ripgrep etc.)
  • Use as a custom task runner for asynctasks.vim or asyncrun.vim

コメント

ターミナルを使いやすくしてくれる。フロートウィンドウで使いたいというよりこっちが重要。

Shougo/deol.nvim

https://github.com/Shougo/deol.nvim

概要

Vim/Neovim のターミナル機能を便利に扱えるようにするプラグインです。

Deol.nvim is a dark powered shell for Neovim. It is based on neovim or Vim terminal feature.

コメント

:terminal を使いやすいようにラップしている。ddu.vim, ddc.vim との連携が可能。

lambdalisue/guise.vim

https://github.com/lambdalisue/guise.vim

概要

Guise (guise.vim) is a Vim/Neovim plugin that opens a new tab page rather than invokes a new nested instance when a user tried to open a new Vim/Neovim through a job or terminal on the instance.

Vim/Neovim のターミナルバッファ上から vim コマンドなどを実行したとき、元の Vim/Neovim で開くようにする denops.vim 製プラグインです。

コメント

:terminal内で行う$EDITORに依存する操作(git commitやgh pr createなど)でVim in terminal in Vimの入れ子構造になるのを防いで、別タブでの表示に置き換えてくれる。

stevearc/overseer.nvim

https://github.com/stevearc/overseer.nvim

概要

A task runner and job management plugin for Neovim

Neovim 上からタスクを走らせることができるプラグインです。makenpm, cargo といったフレームワークをサポートしています。README にデモ動画があります。

コメント

task runner かつ job の管理をしてくれる。lua で定義した task の他にも vscode の tasks.json も読み込めて、出力結果を一括管理してくれたり、ステータスをタスクバーなどに表示できたりする。

tyru/open-browser.vim

https://github.com/tyru/open-browser.vim

概要

Open URI with your favorite browser from your most favorite editor.

Vim/Neovim バッファ上にある URL をブラウザから開けるようにするプラグインです。

コメント

地味ながら便利。自分が書いたメモのリンクをパパッと開きたい場面は無数にある。

Git (VCS) 操作

Git などのバージョン管理システムと連携するプラグインを紹介します。

lambdalisue/gina.vim

https://github.com/lambdalisue/gina.vim

概要

gina.vim (gina) is a plugin to asynchronously control git repositories.

Vim/Neovim 上で様々な Git 操作を行うことができるプラグインです。gina.vim は既にアーカイブされており、作者の lambdalisue さん自身が gina.vim の機能を denops.vim で作り直しているものが gin.vim です。

コメント

  • git あるところに gina.vim あり。
  • 特に patch や conflict 解決機能が便利。
  • PR をレビューするとき、Gina changes master...HEAD とかで差分をいい感じに確認できるのも便利。
  • Gina browse で特定の範囲へのリンクを取得したりできるのも便利。
  • gin.vim に移行したほうがいいんだろうなーと思いつつ、まだできてない

APZelos/blamer.nvim

https://github.com/APZelos/blamer.nvim

概要

A git blame plugin for (neo)vim inspired by VS Code's GitLens plugin.

git blame の情報をバッファの右側に表示できるプラグインです。README にデモ動画があります。

コメント

コードを読み解く際に、いつ・どんな理由で加えられた変更なのかを確認したい時にすぐ確認できるところで重宝してます。

rhysd/conflict-marker.vim

https://github.com/rhysd/conflict-marker.vim

概要

conflict-marker.vim is Vim plugin for developers fighting against conflicts. All features are available if and only if an opened buffer contains a conflict marker.

Git 使用時に度々生じるコンフリクトの解決に役立つプラグインです。コンフリクトのハイライト、ジャンプなどを提供します。

コメント

gitに依存してないところが好き。テキストをパースしてコンフリクトの解決ができるため、忘れてたコンフリクトの解決ができるところが強い。

ヘルプ・入力ガイド

Vim には機能がたくさんあり、一朝一夕ではマスターできません。そのため、即座にコマンドや関数の仕様を確認できるヘルプの存在は初心者・上級者問わず非常に重要です。ここではヘルプを読みやすくプラグインや、自分用のチートシートを表示するプラグインを紹介します。

vim-jp/vimdoc-ja

https://github.com/vim-jp/vimdoc-ja

概要

日本語に翻訳した Vim 付属のヘルプを配布するためのプロジェクトです。

なお、日本語版のヘルプはプラグインをインストールしていない場合でも以下のページから参照できます。

https://vim-jp.org/vimdoc-ja/

コメント

母国語でヘルプが読めるすばらしさ。なんでも載ってる。

reireias/vim-cheatsheet

https://github.com/reireias/vim-cheatsheet

概要

vim-cheatsheet opens your cheat sheet file.

自作チートシートを表示するプラグインです。


デモ(README より抜粋)

コメント

それほど使う頻度の高くないコマンドを確認するのに重宝してます。機能がシンプルなのも良いです。

nvim-treesitter 関連

Neovim には Tree-sitter という構文解析器と連携する機能があります。様々なプログラミング言語の構文解析を裏で行うことで、構文木に従った賢いシンタックスハイライトや範囲選択、インデントなどを実現できます。
ここでは、tree-sitter との連携を前提とした Neovim 用プラグインを紹介します。

nvim-treesitter/nvim-treesitter

https://github.com/nvim-treesitter/nvim-treesitter

概要

The goal of nvim-treesitter is both to provide a simple and easy way to use the interface for tree-sitter in Neovim and to provide some basic functionality such as highlighting based on it


デモ(README より抜粋)

nvim-treesitter がなくとも Neovim と tree-sitter を連携すること自体は可能ですが、実際に複数の言語で実用的に連携させる場合、nvim-treesitter を用いるのが一般的でしょう。

コメント

  • ハイライトなどの規則をクエリファイルで自由にカスタマイズできるのが便利。自分好みの賢いハイライトが付けられる。
  • なんだかんだシンタックスハイライト以外にもいろんなことができる。特にプラグインとの連携が便利。アウトラインを表示するプラグイン (aerial.nvim) とか。

kiyoon/treesitter-indent-object.nvim

https://github.com/kiyoon/treesitter-indent-object.nvim

概要

Context-aware smart indent object to select block, powered by treesitter.

インデントベースで現在のブロックを選択するプラグインのようです。


デモ(README より抜粋)

コメント

文脈でブロック選択する用途が結構あり、これが一番感覚にあった選択をしてくれる

ziontee113/syntax-tree-surfer

https://github.com/ziontee113/syntax-tree-surfer

概要

Syntax Tree Surfer is a plugin for Neovim that helps you surf through your document and move elements around using the nvim-treesitter API.

構文木にしたがって、特定の構文要素の順番を入れ替えたりといった動作を実現するプラグインです。README にデモ動画があります。

コメント

ブロック選択状態の移動が楽になる。ブロック入れ替えもこれでできる

特定のファイル編集

特定の言語で書かれたファイルを編集するときに役立つプラグインを紹介します。

hokorobi/vim-rst-util

https://github.com/hokorobi/vim-rst-util

概要

reStructuredText のセクション見出しやリストの項目追加などをサポートするプラグインのようです。

コメント

Sphinx (reStructuredText) で会社のドキュメントを書いているので、vim-rst にないちょっと便利な機能を実装した自作プラグイン。

mechatroner/rainbow_csv

https://github.com/mechatroner/rainbow_csv

概要

Rainbow CSV: highlight columns in csv/tsv files and execute SELECT and UPDATE queries in SQL-like language

色分けや SQL ライクな構文での絞り込みなど、CSV/TSV ファイル編集に特化したプラグインです。


デモ(README より抜粋)

コメント

CSV や TSV ファイルを列ごとに色分けしてくれる。

その他

適切なグループが見当たらなかった、またはグループに該当しそうなプラグインが1つしかなかったなどの理由でグループ分けできなかったプラグインたちをまとめて紹介します [1]

Shougo/dein.vim

https://github.com/Shougo/dein.vim

概要

Dein.vim is a dark powered Vim/Neovim plugin manager.

Vim/Neovim 両方で使われている、人気のプラグインマネージャの1つです。

コメント

最速のプラグインマネージャーである。Vim でも動作する。
あらゆる遅延ロード形式に対応している。
不満というと、実装が疎結合でありメンテナンスがつらいところくらいか。

Darazaki/indent-o-matic

https://github.com/Darazaki/indent-o-matic

概要

Dumb automatic fast indentation detection for Neovim written in Lua

ファイルのインデント量を推測し、 expandtabtabstop といったオプションを自動で設定する Neovim 用プラグインです。

コメント

インデントがタブかスペースで別れているプロジェクトを行ったり来たりするときに便利

chrisbra/Recover.vim

https://github.com/chrisbra/Recover.vim

概要

Recover.vim adds a diff option when Vim finds a swap file

swap ファイルを発見したとき、元のファイルと比較したり、復元したりできるようにするプラグインです。

コメント

時折悩まされる謎のSwapファイル。このプラグインでは

  • swapと現在のファイルのdiffを見る
  • 見た上で差分を現在のファイルに取り込む
  • 不要になったswapを削除する
    といった操作をスムーズに行える。

yukimemi/dps-autobackup

https://github.com/yukimemi/dps-autobackup

概要

dps-autobackup is a Vim plugin that automatically backup files.

CursorHoldBufWritePre などのタイミングでファイルのバックアップを取るプラグインです。

コメント

自作ですが、入れてるだけで自然とファイルバックアップを取ってくれるので、いざってときにべんり。おバカなので、あぁーーー!!ってなることたまにあっていつも助けられている

itchyny/vim-qfedit

https://github.com/itchyny/vim-qfedit

概要

Edit the quickfix/location list freely
There's no need to configure for this plugin. Just edit the quickfix/location list buffer.

QuickFix ウィンドウを編集可能にするプラグインです。


デモ(README より抜粋)

コメント

空気のようなもの。あるのが当然になっている。:gや:vができるようになり非常に便利

rbtnn/vim-ambiwidth

https://github.com/rbtnn/vim-ambiwidth

概要

これはset ambiwidth=single でVimを使用したいけど、文字幅が曖昧な文字が残念な表示になってしまうのを setcellwidths() にて文字幅調整してくれるVimプラグインです。

コメント

罫線をきれいに表示するため

終わりに

前編・後編で合計66個のプラグインを紹介しました。調査にご協力いただいた皆さん、ありがとうございました。

普段様々なプラグインを使っている私ですが、それでも「こんなプラグインがあったのか!」「名前だけは知っていたけど、ちゃんと調べてみると便利そうだな」と発見ばかりでした。また新たに色々入れてみたいと思います。皆さんも是非、今回紹介したプラグインたちを試してみてください。

結果記事作成のため一旦フォームを締め切っていましたが、今日からまだ開放するので興味が湧いた方は是非自分の推しプラグインも回答してみてください。

https://forms.gle/nbHM88sgW6mKsMND9

まとめ記事更新の予定はありませんが、回答は以下のスプレッドシートから閲覧できるようにしています。

https://docs.google.com/spreadsheets/d/1UKuXS56l85PyI-oHUDLFP5UQC6CksPMGabz4V4F71bc/edit?usp=sharing

脚注
  1. dein.vim は本来「プラグインマネージャ」としてグループ分けすべきなのですが、今回該当するプラグインが1つしかなかったため、こちらに記載しています。 ↩︎

Discussion