430
406

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

よく使われているvimのプラグイン top20

Last updated at Posted at 2019-04-14

以前に「オレ的vimプラグイン10選」という記事を書いたのですが、この記事では完全に主観で紹介するvimのプラグインを決めていました。
世の中のエンジニアのalias設定」を書く際に利用したスクリプトを用いて、客観的なデータからおすすめのプラグインを紹介するのも面白そうだなと思い、調査してみました。

ランキングとプラグインの一言説明を紹介していきます。

更新履歴

  • 2019/04/15 公開
  • 2020/06/13 再集計しランキングを更新しました
    • ランキングを最新版に更新
    • 過去に20位圏内だったプラグインの詳細を残した
    • 新規にtop100にランクインしたプラグインの説明を追加

関連記事

対象

  • GitHub上のdotfilesトピックがついたリポジトリ
  • スター数順に上位1000リポジトリ
  • 対象ファイルは*vimrcinit.vim*.toml

集計にはこのツールを使いました。
reireias/dotseeker

集計スクリプト

ワンライナー教の信者なのでシェル芸してます。

find files -type f | xargs cat | sed -e 's/^[ \t]*//g' -e 's/[ \t]*$//g' -e '/^$/d' -e '/^["\\]/d' | ag / | sed -e 's/ /\n/g' | ag -o "[a-zA-Z0-9][a-zA-Z0-9_.-]+/[a-zA-Z0-9][a-zA-Z0-9_.-]+" | sort | uniq -c | sort -nr

1位 tpope/vim-fugitive

304票(前回:276票、1位)
第1位はvimからGit操作を行うことができるvim-fugitiveでした!

下の画像は:Gblamegit blameの内容を表示している例です。
gblame.png

こちらは:Gdiffによるgit diffの表示です。
gdiff.png

他にも:Gstatusgit statusの結果を表示し、そこからファイルを選択して開く、といった機能もあります。

2位 tpope/vim-surround

269票(前回:263票、2位)
括弧やクオート、XMLタグ等を表すテキストオブジェクトを追加することで、「シングルクオートをダブルクオートに変更」や「[Hello]から括弧を削除」等の操作ができるようになります。

例
cs"' : ダブルクオートをシングルクオートに置換
ds[  : []を削除

surround.gif

3位 airblade/vim-gitgutter

217票(前回:214票、3位)
Gitの追加/削除/変更された行を行番号の左に表示してくれます。

gitgutter.png

4位 scrooloose/nerdtree

215票(前回:211票、4位)
ファイルツリーを表示することができます。
ツリー上のファイルに対して表示、分割表示、プレビュー等が行えます。
また、gitの追加/更新などの情報も表示されます。
下記画像では、ryanoasis/vim-deviconsryanoasis/nerd-fontsも導入しているので、ファイルタイプごとにアイコンが表示されています。

nerdtree.png

5位 junegunn/fzf.vim

206票(前回:156票、7位)
インクリメンタルサーチツールfzfを利用した様々な検索を提供するプラグインです。

:GFIlesgit ls-filesの結果に対し、インクリメンタルサーチを実施している例です。
fzf.gif

6位 junegunn/fzf

169票(前回:144票、10位)
fzfをvimから使えるようにするプラグインです。
5位のfzf.vimの依存プラグインです。

7位 tpope/vim-repeat

167票(前回:157票、6位)
.によるコマンド繰り返し機能をより強力にしてくれるプラグインです。
例えば、2位のvim-surroundが.による繰り返しで利用できるようになります。

8位 tpope/vim-commentary

164票(前回:155票、8位)
複数行を一気にコメントアウトできるプラグインです。
範囲コメントの無い言語で重宝します。

commentary.gif

9位 vim-airline/vim-airline

146票(前回:146票、9位)
ステータスバーをいい感じにカスタマイズできるプラグインです。

04.png

10位 vim-airline/vim-airline-themes

132票(前回:126票、12位)
ステータスバーのカスタマイズ用テーマ集です。
wikiに全テーマのスクリーンショットが掲載してあります。

11位以下

11位 w0rp/ale

120票(前回:168票、5位)
非同期でLintツールを実行してくれます。

現在はOrganization配下へ移動されたため、票が別れてしまってランクダウンしていました。
dense-analysis/ale

ちょっと昔はsyntasticというツールがメジャーでしたが、こちらは同期処理であったため、lintが走っている間はvimの操作が行えませんでした。

下のgifはeslintの例です。

ale.gif

12位 sheerun/vim-polyglot

118票(前回:110票、16位)
様々な言語のシンタックスやインデントを提供するプラグインです。

13位 fatih/vim-go

117票(前回:128票、11位)
Go言語の開発用プラグインといったらこれです。(テスト、lint、フォーマッタ等)

14位 pangloss/vim-javascript

114票(前回:117票、13位)
javascript開発用プラグインです。(インデント、ハイライト)

15位 majutsushi/tagbar

110票(前回:115票、14位)
ctagsで生成されたタグをアウトライン風にウィンドウに表示します。

tagbar.png

16位 junegunn/goyo.vim

106票(前回:93票、18位)
余白を追加し、ステータスバー等も隠すプラグインです。
goyo.png

17位 itchyny/lightline.vim

99票(前回:78票、30位)
9位のvim-airline同様にステータスバー/タブバーをカスタマイズするプラグインです。
以下に設計思想がかかれています。
lightline.vim作りました - プラグインの直交性について

18位 SirVer/ultisnips

96票(前回:93票、19位)
スニペットを拡張し、高速に使えるようにするです。

19位 neoclide/coc.nvim

95票(前回:圏外)
各種Language Server Protocolを扱うプラグインです。
言語に応じたLanguage Serverを導入することで、型やメンバーの自動補完、変数やメンバーの定義参照、変数やメンバーの利用箇所の検索、コードの自動フォーマット、コードのエラー分析や修正案の提示といった、さまざまな機能を実現できるのがこのLSPの特徴です。

coc.nvimでは下記コマンドで簡単にLanguage Serverの追加が可能です。

# javascript用Language Serverの追加
:CocInstall coc-tsserver

20位タイ junegunn/vim-easy-align

93票(前回:86票、23位)
イコールの位置で揃えたりが可能な整形プラグインです。

vim-easy-align
READMEより

20位タイ jiangmiao/auto-pairs

93票(前回:90票、20位)
対となる括弧を追加/削除してくれるプラグインです。

20位タイ editorconfig/editorconfig-vim

93票(前回:88票、21位)
.editorconfigファイルに書かれた設定で拡張子毎にインデントや改行等の設定でフォーマットすることができるプラグインです。
チームで開発する際に重宝します。

20位タイ christoomey/vim-tmux-navigator

93票(前回:76票、31位)
tmuxのペインとvimのスプリット間のシームレスな移動キーマップを提供してくれるプラグインです。

前回20位以内

28位 Shougo/deoplete.nvim

87票(前回:114票、15位)
Neovim 0.3以降 or Vim8で動作する高速な補完プラグインです。

24位タイ mattn/emmet-vim

92票(前回:99票、17位)
選択した範囲に対してイイ感じにhtmlタグを設定できるプラグインです。
emmet.gif

その他前回100位圏外からのランクイン

24位〜100位

24位〜100位 92 scrooloose/nerdcommenter 92 mattn/emmet-vim 92 honza/vim-snippets 89 tpope/vim-unimpaired 87 Shougo/deoplete.nvim 83 godlygeek/tabular 82 tpope/vim-endwise 80 Yggdroot/indentLine 76 ryanoasis/vim-devicons 73 tpope/vim-rhubarb 73 tpope/vim-eunuch 72 ctrlpvim/ctrlp.vim 71 plasticboy/vim-markdown 71 elzr/vim-json 69 rust-lang/rust.vim 69 mbbill/undotree 67 terryma/vim-multiple-cursors 65 leafgarland/typescript-vim 65 ervandew/supertab 65 easymotion/vim-easymotion 62 tpope/vim-abolish 62 mxw/vim-jsx 60 scrooloose/syntastic 60 ap/vim-css-color 58 altercation/vim-colors-solarized 57 kana/vim-textobj-user 57 bling/vim-airline 56 tpope/vim-rails 56 mhinz/vim-startify 55 cespare/vim-toml 54 mileszs/ack.vim 54 Raimondi/delimitMate 52 vim-ruby/vim-ruby 52 morhetz/gruvbox 52 macros/matchit.vim 51 wellle/targets.vim 50 tpope/vim-markdown 50 junegunn/limelight.vim 49 Xuyuanp/nerdtree-git-plugin 48 tpope/vim-sensible 47 othree/html5.vim 47 nathanaelkane/vim-indent-guides 46 dense-analysis/ale 45 tpope/vim-dispatch 45 tomtom/tcomment_vim 45 ntpeters/vim-better-whitespace 45 VundleVim/Vundle.vim 44 lervag/vimtex 44 hail2u/vim-css3-syntax 43 Valloric/YouCompleteMe 43 AndrewRadev/splitjoin.vim 41 xolox/vim-misc 41 mhinz/vim-signify 41 Shougo/vimproc.vim 39 posva/vim-vue 39 kien/ctrlp.vim 37 tmux-plugins/vim-tmux 36 tpope/vim-vinegar 36 chriskempson/base16-vim 35 tpope/vim-sleuth 34 tmux-plugins/vim-tmux-focus-events 34 mattn/gist-vim 34 janko-m/vim-test 34 arcticicestudio/nord-vim 33 roxma/nvim-yarp 33 mattn/webapi-vim 33 kchmck/vim-coffee-script 33 Shougo/dein.vim 32 junegunn/gv.vim 32 davidhalter/jedi-vim 31 othree/yajs.vim 31 cakebaker/scss-syntax.vim 30 roxma/vim-hug-neovim-rpc 30 junegunn/vim-peekaboo 30 jparise/vim-graphql 29 michaeljsmith/vim-indent-object 29 machakann/vim-highlightedyank

まとめ

名前はみたことあったけど、意外と人気だったプラグインとかが見つかり、いろいろと試してみたくなってきました。
試したプラグインは少しづつ追記していこうかと思います。

430
406
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
430
406

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?