利用中のVimプラグインの棚卸し

April 12, 2020

2020年4月現在の自分のvimrcに記載されているVimプラグインを棚卸しします。使っているプラグイン、使っていないプラグインを把握する目的なので、自分のために書いたブログエントリという性質が強いです。ご了承ください。

Vimを本格的に開発で使い始めてから1年くらいなのですが、最初にVim Bootstrapでとりあえず生成したvimrcを元に使い始めたので、使い方すら知らないものが相当数あるまま来てしまいました。使いこなせていないプラグインは使っていきたいし、使わないものは消していきたい。

2020年4月13日(月)時点でのvimrc https://github.com/capytan/dotfiles/blob/241289c28c5a0d3f8bb5b7a1d02dd2525282e6e8/.vimrc

前提

  • 筆者は職業プログラマー歴は1年とちょっと。
  • Ruby on Rails, JavaScript, TypeScript, Vue.js等を書く。
  • Vim Bootstrapで生成したvimrcに手を加えたもの。一部は原型無い。

プラグインマネージャー

junegunn/vim-plug

簡単な記述でプラグインを管理できる。

  • junegunn/vim-plug: Minimalist Vim Plugin Manager

https://github.com/junegunn/vim-plug

全般

preservim/nerdtree

Vim内でディレクトリツリーを視覚的に閲覧できるようにして、ファイル操作やディレクトリ操作などを可能にするプラグイン。あとリポジトリの管理者が変わってたことに気付いたのでvimrcを修正しました。

  • preservim/nerdtree: A tree explorer plugin for vim.

https://github.com/preservim/nerdtree

jistr/vim-nerdtree-tabs

複数タブを開いている際、異なるタブ間でNERDTreeの状態を同期できる。

  • jistr/vim-nerdtree-tabs: NERDTree and tabs together in Vim, painlessly

https://github.com/jistr/vim-nerdtree-tabs

tpope/vim-commentary

簡単にコメントアウトや解除を行うことができる。

  • tpope/vim-commentary: commentary.vim: comment stuff out

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

tpope/vim-fugitive

Vim上でgit操作ができる。tmuxで別ウィンドウを開いておいてそちらでgit操作をすることが多いので現状使っておらず。試してみます。

  • tpope/vim-fugitive: fugitive.vim: A Git wrapper so awesome, it should be illegal

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

tpope/vim-surround

指定範囲を記号で囲んだり、囲まれてる中の文字列を編集したり。色々役に立つ。

  • tpope/vim-surround: surround.vim: quoting/parenthesizing made simple

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

vim-airline/vim-airline

vim-airline/vim-airline-theme

Vimのステータス・タブバーをかっこよくしてくれる。

  • vim-airline/vim-airline: lean & mean status/tabline for vim that's light as air

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

  • vim-airline/vim-airline-themes: A collection of themes for vim-airline

https://github.com/vim-airline/vim-airline-themes

airblade/vim-gitgutter

ファイル編集中の差分を左端に表示する。

  • airblade/vim-gitgutter: A Vim plugin which shows a git diff in the sign column and stages/previews/undoes hunks and partial hunks.

https://github.com/airblade/vim-gitgutter

vim-scripts/grep.vim

grepを強化してくれる。一部しか使っていないけれども、かなり強力で好み。

  • vim-scripts/grep.vim: Grep search tools integration with Vim

https://github.com/vim-scripts/grep.vim

vim-scripts/CSApprox

GVimのみのカラースキームをターミナルVimで動作するようにするらしいけど、なぜ入れたのか不明。いらないかも。

  • vim-scripts/CSApprox: Make gvim-only colorschemes work transparently in terminal vim

https://github.com/vim-scripts/CSApprox

bronson/vim-trailing-whitespace

末尾の無駄なスペースをハイライトする。削除することも可能。

  • bronson/vim-trailing-whitespace: Highlights trailing whitespace in red and provides :FixWhitespace to fix it.

https://github.com/bronson/vim-trailing-whitespace

Raimondi/delimitMate

括弧やクォーテーションを補完してくれる。

  • Raimondi/delimitMate: Vim plugin, provides insert mode auto-completion for quotes, parens, brackets, etc.

https://github.com/Raimondi/delimitMate

majutsushi/tagbar

Ctagsの中身を画面に表示する。私はCtags自体あまり使いこなせず、あまり使っていません。

  • majutsushi/tagbar: Vim plugin that displays tags in a window, ordered by scope

https://github.com/majutsushi/tagbar

scrooloose/syntastic

構文エラーをチェックしてくれる。

  • vim-syntastic/syntastic: Syntax checking hacks for vim

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

Yggdroot/indentLine

インデントを見やすくする。

  • Yggdroot/indentLine: A vim plugin to display the indention levels with thin vertical lines

https://github.com/Yggdroot/indentLine

sheerun/vim-polyglot

たくさんの言語のシンタックスやインデントを提供してくれる。

  • sheerun/vim-polyglot: A solid language pack for Vim.

https://github.com/sheerun/vim-polyglot

junegunn/fzf.vim

コマンドラインであいまい検索ができるツール。Golang製でめっちゃ速い。ファイル名やコマンド履歴を検索するときに多用しています。

  • junegunn/fzf.vim: fzf vim

https://github.com/junegunn/fzf.vim

xolox/vim-misc

後述のvim-sessionの依存プラグイン。

  • xolox/vim-misc: Miscellaneous auto-load Vim scripts

https://github.com/xolox/vim-misc

xolox/vim-session

Vimでセッションの管理をやりやすくする。実はあんまり使ってない。

  • xolox/vim-session: Extended session management for Vim (:mksession on steroids)

https://github.com/xolox/vim-session

Shougo/vimshell.vim

Vimからシェルを起動するVimScript。

  • Shougo/vimshell.vim: Powerful shell implemented by vim.

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

Shougo/vimproc.vim

vimshellの依存プラグイン。Vimに非同期通信の機能を与えてくれる。

  • Shougo/vimproc.vim: Interactive command execution in Vim.

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

SirVer/ultisnips

強力なスニペットプラグインらしいが、全然使いこなせていない。

  • SirVer/ultisnips: UltiSnips - The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!

https://github.com/SirVer/ultisnips

honza/vim-snippets

ultisnipsで使えるスニペットファイル集らしいが、使いこなせていない。

  • honza/vim-snippets: vim-snipmate default snippets (Previously snipmate-snippets)

https://github.com/honza/vim-snippets

Color

tomasr/molokai

彩度が強いカラースキームMolokaiを導入する。

  • tomasr/molokai: Molokai color scheme for Vim

https://github.com/tomasr/molokai

html/css

hail2u/vim-css3-syntax

cssシンタックス。

  • hail2u/vim-css3-syntax: CSS3 syntax (and syntax defined in some foreign specifications) support for Vim's built-in syntax/css.vim

https://github.com/hail2u/vim-css3-syntax

gorodinskiy/vim-coloresque

Vim上で色のプレビューを確認できる。

  • gko/vim-coloresque: css/less/sass/html color preview for vim

https://github.com/gko/vim-coloresque

tpope/vim-haml

hamlのシンタックス。

  • tpope/vim-haml: Vim runtime files for Haml, Sass, and SCSS

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

slim-template/vim-slim

slimのシンタックス。

  • slim-template/vim-slim: Syntax highlighting for VIM

https://github.com/slim-template/vim-slim

mattn/emmet-vim

VimでEmmetを使うようにする。

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

JavaScript

jelera/vim-javascript-syntax

JavaScriptのシンタックス。余談ですが、業務ではJS/TSを書く時にVS Codeで使っています。とくにメンテせずに使いやすくなっちゃうので。Vimでどこまでできるか今度突き詰めてみる。

  • jelera/vim-javascript-syntax: Enhanced javascript syntax file for Vim

https://github.com/jelera/vim-javascript-syntax

othree/yajs.vim

↑で対応しきれないところに対応する。

  • othree/yajs.vim: YAJS.vim: Yet Another JavaScript Syntax for Vim

https://github.com/othree/yajs.vim

Vue.js

posva/vim-vue

Vue向けのシンタックスハイライト。

  • posva/vim-vue: Syntax Highlight for Vue.js components

https://github.com/posva/vim-vue

Ruby

tpope/vim-rails

railsコマンドの実行やRailsに特化したファイル操作を提供する。

  • tpope/vim-rails: rails.vim: Ruby on Rails power tools

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

tpope/vim-rake

Vim Bootstrapで初期導入されていたものの、ほとんど使っていない。

  • tpope/vim-rake: rake.vim: it's like rails.vim without the rails

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

tpope/vim-projectionist

Vim Bootstrapで初期導入されていたものの、ほとんど使っていない。

  • tpope/vim-projectionist: projectionist.vim: Granular project configuration

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

thoughtbot/vim-rspec

Vim上でRSpecを実行する。

  • thoughtbot/vim-rspec: Run Rspec specs from Vim

https://github.com/thoughtbot/vim-rspec

ecomba/vim-ruby-refactoring

Rubyのリファクタリングを支援してくれるようですが、bootstrapで入れるだけ入れて使っていません。活かしたい。

  • ecomba/vim-ruby-refactoring: Refactoring tool for Ruby in vim!

https://github.com/ecomba/vim-ruby-refactoring

Other

Shougo/unite.vim

何やらいろいろなことができるらしいのですが、全然使いこなせていない。使いこなしたい。

  • Shougo/unite.vim: Unite and create user interfaces

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

vim-lsp関係

prabirshrestha/async.vim

vim-lspの依存プラグインのため導入。

  • prabirshrestha/async.vim: normalize async job control api for vim and neovim

https://github.com/prabirshrestha/async.vim

prabirshrestha/vim-lsp

IDEのように補完や定義位置ジャンプができるようになる。今後の発展に期待。

  • prabirshrestha/vim-lsp: async language server protocol plugin for vim and neovim

https://github.com/prabirshrestha/vim-lsp

mattn/vim-lsp-settings

導入が大変なvim-lspの導入を支援するプラグイン。便利。

  • mattn/vim-lsp-settings: Auto configurations for Language Server for vim-lsp

https://github.com/mattn/vim-lsp-settings

prabirshrestha/asyncomplete.vim

vim-lspの自動補完のために導入。

  • prabirshrestha/asyncomplete.vim: async completion in pure vim script for vim8 and neovim

https://github.com/prabirshrestha/asyncomplete.vim

prabirshrestha/asyncomplete-lsp.vim

同じくvim-lspの自動補完のために導入。

  • prabirshrestha/asyncomplete-lsp.vim

https://github.com/prabirshrestha/asyncomplete-lsp.vim

さいごに

全然使いこなせていないプラグインばかりでした。あとVim Bootstrapを導入したときに入ったシンタックス系のプラグインがたくさん入ってますね。しばらくの間、Vimの基本操作からプラグインの使用方法について掘っていこうと思います。


Profile picture

Written by capytan ソフトウェアエンジニアです。技術のことや日々のことを書きます。 @capytan_el34