pathogen から vim-plug に乗り換えた

これまで pathogen を使ってきたけど, vim-plug に乗り換える.

動作環境

  • mac Mojave 10.14.2
  • vim 8.1

neovim じゃなく, vim 8.1 であることに注意.

背景

本格的に vim を使い始めて早3ヶ月.
複数のサーバで同じ vim 環境を整えたいという気持ちが出てきた.

これまでは初心者でも導入ハードルが低そうな pathogen を好んで利用してきた.

pathogen$ git clone で利用したい plugin が簡単に導入可能.
一方で, 利用する plugin の管理まではできないデメリットががある.

だから 1 file で vim pluging が管理可能な vim-plug を使うことにした.

vim の plugin 管理にまつわる苦悩は, vim-plug 作者と経緯が大して変わらない.
作者の試行錯誤の過程を知りたい場合は次の url を見るといいかも.

2013年に書かれた記事らしい.
ありがたく使わせて頂きます.

install

基本的には vim-plug の readme に従って作業を進める.
tutorial ページも用意されているので, 困ったらそちらも参照する.

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

~/.vim/autoload/plug.vim が作成されていれば ok.

~/.vim/autoload/

install plugins

vim-plug を使って plugin を inst. してみる.

.vimrc にこんな記述をすればいいらしい.

call plug#begin()
Plug 'ココに install したい plugin を記述'
call plug#end()

README > Usage > Example に具体的な使い方が載ってる.

call plug#begin() の引数には inst. する plugin の格納パスを指定.
README では ~/.vim/plugged になっているので踏襲する.

pathogen の場合は ~/.vim/bundle/ が plugin 格納 path だった.

試しに次の plugin を inst. する.

.vimrc に次の記述を書く.

call plug#begin('~/.vim/plugged')
Plug 'w0rp/ale'
call plug#end()

↑コレを書いたら変更を反映するために .vimrc を reload する.

:source ~/.vimrc

install するためにコマンドを叩く

:PlugInstall

コマンドを叩くと vim が画面分割され, 次のような表示が出る.

Updated. Elapsed time: 14.715725 sec.
[=]

- Finishing ... Done!
- ale: Resolving deltas: 100% (3243/3243), done.

次の場所に ale が install されている.

  • ~/.vim/plugged/

基本的な使い方は以上.

依存関係のある plugin の取扱はこうした

vim-plug の tutorial, tips, faq はそれぞれ README に書いてある.

ここでは pluging 同士に依存関係がある場合の .vimrc 記述方法を紹介.
私はこうしたけど, もっといい方法があるかも.

faq の次の箇所を参考にした.

vim-plug no longer handles dependencies between plugins and it’s up to the user to manually specify Plug commands for dependent plugins.

引用: Managing dependencies

依存解決は Plug コマンドで自力で解決してね, とのこと.

引用元に拠ると, 依存関係のある plugin 記述は次のどちらかが多いらしい.

  • |(パイプ) で 1行に書く
  • indent して複数行に書く

私は前者を採用した.
理由は, もしその plugin が不要になったら "(コメントアウト) で一度に無効にできるから.

今回試す依存関係のある plugin はこれ.

以前 vim で markdown 環境構築に関する記事をまとめた際に登場した plugin.

plasticboy/vim-markdown:TOC (Table of Contents) を出力しようと思ったら次の plugin も必要になる.

つまり, plasticboy/vim-markdowngodlygeek/tabular に依存している.

この依存関係を |(パイプ) で表すために, こんな感じの .vimrc を書いた.

call plug#begin('~/.vim/plugged')
Plug 'plasticboy/vim-markdown' | Plug 'godlygeek/tabular'
call plug#end()

もうこの plugin は利用しない, というときはコメントアウト一つで依存関係のある plugin まで管理外にすることが可能.

call plug#begin('~/.vim/plugged')
" Plug 'plasticboy/vim-markdown' | Plug 'godlygeek/tabular'
call plug#end()

今回は以上.

スポンサーリンク
336 x 280 – レクタングル(大)
336 x 280 – レクタングル(大)
  • このエントリーをはてなブックマークに追加

この記事が気に入ったら
いいね!しよう

スポンサーリンク
336 x 280 – レクタングル(大)
トップへ戻る