20
14

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 5 years have passed since last update.

VimAdvent Calendar 2018

Day 20

Vimのプラグイン管理 is なにがいい?

Last updated at Posted at 2018-12-19

##はじめに
Vimでプラグイン管理する際、プラグインマネージャーでプラグインを管理することが多いかと思いますが、
さまざまな種類があるので、結局どれを選べばいいのかわからないですよね。
そこで今回は自分なりにまとめてみました。

##vim-pathogen

pathogen.vimはvimプラグインの読み込みパスを変更するプラグインです。
~/.vim/bundle/<プラグイン名>/ 以下の各ディレクトリも ~/.vim/ 直下と同じように読み込み
これにより、bundle/ 以下にプラグインごとに別のディレクトリを切って管理をすることができるようになります。

###導入方法

pathogen.vim ファイルをローカルに配置します。

$ cd ~/.vim/autoload/
$ wget https://raw.githubusercontent.com/tpope/vim-pathogen/master/autoload/pathogen.vim

~/.vimrcファイルに以下を記述します。

execute pathogen#infect()
filetype plugin indent on
syntax on

##Vundle.vim
Vundle は Rails 3 で採用されている、Gem 管理システム Bundler に影響を受けたプラグイン管理システムです。

###導入方法

Vundleをインストール

$ git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle

vimrcに以下の記述

set nocompatible              " be iMproved, required
filetype off                  " required

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
# 追加するプラグインを記述
Plugin 'VundleVim/Vundle.vim'

call vundle#end()            " required
filetype plugin indent on    " required

##neobundle.vim

Vundleにインスパイアされたプラグイン管理システム。Vundleの改良版。

Vundleとの主な違い
・Subversionなどにも対応しているため、vim.orgとgithub.comに縛られない
・プラグインのリビジョンを指定することができる

※dein.vimがでた影響でneobundleのメンテはされてない

###導入方法

配置先のディレクトリ作成

$ mkdir -p ~/.vim/bundle

NeoBundleを取得

$ git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim

vimrcに設定

# 以下を追記
set nocompatible
filetype plugin indent off

if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim
  call neobundle#rc(expand('~/.vim/bundle'))
endif 

NeoBundleFetch 'Shougo/neobundle.vim'

# 入れたいプラグインを追加
NeoBundle 'scrooloose/nerdtree'
NeoBundle 'mattn/emmet-vim''

filetype plugin indent on

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

:NeoBundleInstall

プラグインをアップデート

:NeoBundleUpdate

プラグインを削除

:NeoBundleClean

##vim-plug
NeoVim 互換のマネージャ シンプルな記述が魅力。
性能でいうとneobundleのほうが上だがシンプルさが根強い人気の印象。

###導入方法

vim-plugをインストール

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

基本的な記述

call plug#begin()
インストールしたいプラグインのgithubのリポジトリを指定
call plug#end()

##dein.vim
neobundle.vim をリプレースするべく新設計のもとに作られた。NeoVim でも動作する

・コマンドはなく、関数のみで構成されている
・プラグインの設定はTOMLで行う。
・読み込み速度が早い。

###導入方法

$ mkdir -p ~/.vim/dein/repos/github.com/Shougo/dein.vim
$ git clone https://github.com/Shougo/dein.vim.git \
    ~/.vim/dein/repos/github.com/Shougo/dein.vim

追加するプラグインを記述

if &compatible
  set nocompatible
endif
set runtimepath+=~/.vim/dein/repos/github.com/Shougo/dein.vim

call dein#begin(expand('~/.vim/dein'))

call dein#add('Shougo/dein.vim')
call dein#add('Shougo/vimproc.vim', {'build': 'make'})

call dein#add('scrooloose/nerdtree')

" (中略)

call dein#end()

##まとめ

ざっくりと一覧を挙げましたが、筆者の周りはdein.vimを使ってる方が多いかなという印象です。
(私はシンプルな記述が魅力なvim-plugが好きです。)
次々とプラグインマネージャーが出てきて、管理のしやすさや速度も向上していますが、あまりプラグインを入れすぎると、重くなってしまいますので必要最低限のプラグインだけいれればいいかなと思います。

人によって環境は異なってくるので、自分にとってベストなものを選べばいいと思います。
それでは、皆さんステキなVimライフを!

20
14
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
20
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?