karakaram-blog

neobundleでpathogenと同等の機能を使用する方法

 ツイート 4  シェア 0  Google+1 0  Hatena 9

vim-logo

以前、neobundleとpathogenを共存させてVimのプラグインを管理する方法についての記事を書きました。

当時は、リポジトリが公開されていないプラグインをneobundleで管理する方法が分からなかったのでpathogenとneobundleを併用していました。この記事にShougoさんよりコメントいただき、最新のneobundleではpathogenの代わりになる機能が実装されているとの情報をいただきました。

マニュアルを参考に試してみたところ、リポジトリを持たないプラグインをpathogenのように読み込むことができましたので、設定方法を紹介します。

これでpathogenは不要となり、プラグインの管理をneobundleに一元化できました。

動作確認環境

  • Vim 7.3
  • neobundle 0.1

目次

  1. ディレクトリ構成
  2. リポジトリを持たないプラグインの設定方法
  3. .vimrcサンプル

ディレクトリ構成

.vim/bundleディレクトリの構成を紹介します。

.vim
├─bundle
│  ├─automatic
│  │  ├─neobundle.vim
│  │  │  ├─autoload
│  │  │  └─doc
│  │  ├─unite.vim
│  │  │  ├─autoload
│  │  │  ├─doc
│  │  │  ├─plugin
│  │  │  ├─spec
│  │  │  └─syntax
│  │  ├─vimproc
│  │  │  ├─autoload
│  │  │  ├─doc
│  │  │  ├─plugin
│  │  │  └─spec

(略)

│  └─manual
│      ├─bufonly
│      │  └─plugin
│      ├─dirdiff
│      │  └─plugin
│      └─im_control
│          └─plugin

私は、自動でリポジトリと同期させるプラグインをautomaticディレクトリで管理し、リポジトリを持たない、手動で管理が必要なプラグインをmanualディレクトリで管理しています。

両者を同じディレクトリで管理しても大丈夫のようでしたので、ディレクトリ構成はお好みで。

リポジトリを持たないプラグインの設定方法

リポジトリを持たないプラグインをneobundleで読み込むには、下記の書式で.vimrcに記述します。

NeoBundle 'プラグインのディレクトリ名', {'type' : 'nosync', 'base' : '~/.vim/bundle/manual'}

~/.vim/bundle/manual にリポジトリを持たないプラグインが格納されている場合の例です。

.vimrcサンプル

filetype plugin indent off

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

"自動でリポジトリと同期するプラグイン
NeoBundle 'git://github.com/Shougo/neobundle.vim.git'
NeoBundle 'git://github.com/Shougo/vimproc.git'
NeoBundle 'git://github.com/Shougo/unite.vim.git'
(略)

"リポジトリを持たないプラグイン
NeoBundle 'im_control', {'type' : 'nosync', 'base' : '~/.vim/bundle/manual'}
NeoBundle 'bufonly', {'type' : 'nosync', 'base' : '~/.vim/bundle/manual'}
NeoBundle 'dirdiff', {'type' : 'nosync', 'base' : '~/.vim/bundle/manual'}
(略)

filetype plugin indent on
 ツイート 4  シェア 0  Google+1 0  Hatena 9