Small Changes

Vim8のプラグイン管理にvim-plugを使う


Metadata


最近少しずつVimの学びなおしをしています。

下記の記事では、Vim8の標準パッケージ管理を使ってみました。

しかし、色々とプラグインを入れていこうと考えたとき依存関係をいい感じに管理できないなと思いvim-plugを入れることにしました。

依存関係の管理といっても、AのプラグインがBに依存していることが分かればいいです。

(homebrewのように勝手に依存関係を解決してくれると最高だけど…)

vim-plugとは

vim-plugを調べてみると、導入が簡単でシンプルにプラグイン管理できるプラグインマネージャーという印象です。

vim-plugの依存関係の書き方

|のセパレータを使う方法と手動インデントを使う方法があるようです。

私は手動インデントを使うのが視覚的に分かりやすいのでこれが決め手でvim-plugを使ってみようと思いました。

" Vim script allows you to write multiple statements in a row using `|` separators
" But it's just a stylistic convention. If dependent plugins are written in a single line,
" it's easier to delete or comment out the line when you no longer need them.
Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets'
Plug 'junegunn/fzf', { 'do': './install --all' } | Plug 'junegunn/fzf.vim'

" Using manual indentation to express dependency
Plug 'kana/vim-textobj-user'
  Plug 'nelstrom/vim-textobj-rubyblock'
  Plug 'whatyouhide/vim-textobj-xmlattr'
  Plug 'reedes/vim-textobj-sentence'

vim-plugを使ったプラグイン管理

vim-plugのインストール

下記のコマンドを実行すると、~/.vim/autoload/plug.vimがインストールされます。

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

プラグインのインストール

~/.vim/vimrcを作成します。

touch ~/.vim/vimrc

vimrcに以下の設定を追加。

" use plugin manager from vim-plug
call plug#begin('~/.vim/plugged')
Plug 'vim-jp/vimdoc-ja'
Plug 'lambdalisue/fern.vim'
call plug#end()

" helpを日本語化
set helplang=ja,en

viを再度開きなおして、:Pluginstallコマンドを実行するとプラグインがインストールされます。

プラグインをインストールすると、~/.vim/pluggedにプラグインがインストールされていました。

その他便利なコマンド

:PlugUpdateはプラグインを更新してくれるコマンドです。

このようにプラグインを便利に管理できるコマンドも提供されます。

References