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を使うようにする。
- mattn/emmet-vim: emmet for vim: http://emmet.io/
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の基本操作からプラグインの使用方法について掘っていこうと思います。