「NeoBundle」の版間の差分
(同じ利用者による、間の5版が非表示) | |||
行1: | 行1: | ||
− | [[NeoBundle]]とは、[[vim]]のプラグイン管理(プラグインマネージャ)のプラグインです。[[NeoBundle]]は、Vundleをベースにしています。Vundleとは違うコマンド名になっています。もし、今からプラグインマネージャーを使うのであれば、Vundleではなく、[[NeoBundle]]を使うべきです。[[ | + | [[NeoBundle]]とは、[[vim]]のプラグイン管理(プラグインマネージャ)のプラグインです。[[NeoBundle]]は、Vundleをベースにしています。Vundleとは違うコマンド名になっています。もし、今からプラグインマネージャーを使うのであれば、Vundleではなく、[[NeoBundle]]を使うべきです。[[vimのプラグイン]]のインストールやアップデートを簡単に行えます。非同期実行のサポート、unite.vimの対応、リビジョン指定など、大幅に機能が強化されています。[[NeoBundle]]の開発は終了したため、[[VimとNeoVimのプラグインマネージャDein.vim]] を利用しましょう。 |
'''読み方''' | '''読み方''' | ||
行9: | 行9: | ||
[[NeoBundle]]は、Vundleをベースにしています。 | [[NeoBundle]]は、Vundleをベースにしています。 | ||
− | + | [[vimproc]]を使用することで、非同期にインストール/アップデートができます。 | |
[[vim]]をプラグインで拡張することで、[[vim]]を統合開発環境(IDE)のように仕立てることもできます。詳しくは、[[vimのPHP開発環境]]などを御覧ください。 | [[vim]]をプラグインで拡張することで、[[vim]]を統合開発環境(IDE)のように仕立てることもできます。詳しくは、[[vimのPHP開発環境]]などを御覧ください。 | ||
+ | == NeoBundle を利用する前に == | ||
+ | [[NeoBundle]] を使い始めようとしている方は、[[VimとNeoVimのプラグインマネージャDein.vim]] を利用しましょう。[[NeoBundle]] の開発は終了しました。 | ||
== vundleとNeoBundleの違い == | == vundleとNeoBundleの違い == | ||
vundleとの違いと[[NeoBundle]]の特徴です。 | vundleとの違いと[[NeoBundle]]の特徴です。 | ||
行17: | 行19: | ||
** BundleInstall -> NeoBundleInstall | ** BundleInstall -> NeoBundleInstall | ||
** コマンド名に Neo というプレフィックスが追加されています。 | ** コマンド名に Neo というプレフィックスが追加されています。 | ||
− | * [[NeoBundle]] | + | * [[NeoBundle]]は、[[vimproc]] に対応しているため非同期に実行できます。 |
* [[NeoBundle]]は、unite.vim に対応しています | * [[NeoBundle]]は、unite.vim に対応しています | ||
* [[NeoBundle]]は、リビジョンが指定できます。 | * [[NeoBundle]]は、リビジョンが指定できます。 | ||
行71: | 行73: | ||
set rtp+=$HOME/.vim/bundle/neobundle.vim/ | set rtp+=$HOME/.vim/bundle/neobundle.vim/ | ||
endif | endif | ||
− | call neobundle# | + | call neobundle#begin(expand('~/.vim/bundle')) |
− | + | ||
NeoBundleFetch 'Shougo/neobundle.vim' | NeoBundleFetch 'Shougo/neobundle.vim' | ||
+ | call neobundle#end() | ||
" ここから NeoBundle でプラグインを設定します | " ここから NeoBundle でプラグインを設定します | ||
行173: | 行175: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 非同期アップデート == | == 非同期アップデート == | ||
− | [[NeoBundle]] | + | [[NeoBundle]]は、[[vimproc]]を自動認識します。[[vimproc]]がインストールされている場合、非同期でインストールとアップデートができます。 |
<syntaxhighlight lang="vim"> | <syntaxhighlight lang="vim"> | ||
NeoBundle 'Shougo/vimproc', { | NeoBundle 'Shougo/vimproc', { | ||
行180: | 行182: | ||
\ 'cygwin' : 'make -f make_cygwin.mak', | \ 'cygwin' : 'make -f make_cygwin.mak', | ||
\ 'mac' : 'make -f make_mac.mak', | \ 'mac' : 'make -f make_mac.mak', | ||
− | \ 'unix' : ' | + | \ 'unix' : 'gmake -f make_unix.mak', |
\ }, | \ }, | ||
\ } | \ } | ||
行187: | 行189: | ||
unite.vim上でプラグインが検索できます。 | unite.vim上でプラグインが検索できます。 | ||
* :Unite neobundle/search | * :Unite neobundle/search | ||
+ | == エラー == | ||
+ | === [neobundle] neobundle#rc() is deprecated function. === | ||
+ | [[NeoBundle]]をアップデートしたら、以下のエラーが出るようになりました。 | ||
+ | <syntaxhighlight lang="vim"> | ||
+ | [neobundle] neobundle#rc() is deprecated function. | ||
+ | [neobundle] It will be removed in the next version. | ||
+ | [neobundle] Please use neobundle#begin()/neobundle#end() instead. | ||
+ | </syntaxhighlight> | ||
+ | .vimrcの以下の行を修正します。 | ||
+ | <syntaxhighlight lang="vim"> | ||
+ | call neobundle#rc(expand('~/.vim/bundle')) | ||
+ | </syntaxhighlight> | ||
+ | 修正後の設定は、以下の通りです。 | ||
+ | <syntaxhighlight lang="vim"> | ||
+ | call neobundle#begin(expand('~/.vim/bundle')) | ||
+ | NeoBundleFetch 'Shougo/neobundle.vim' | ||
+ | call neobundle#end() | ||
+ | </syntaxhighlight> | ||
+ | === [neobundle] `NeoBundle` commands must be executed within a neobundle#begin/end block. === | ||
+ | [[NeoBundle]]をアップデートしたら、以下のエラーが出るようになりました。 | ||
+ | <syntaxhighlight lang="vim"> | ||
+ | [neobundle] `NeoBundle` commands must be executed within a neobundle#begin/end block. Please check your usage. | ||
+ | call neobundle#end() | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | .vimrc の変更前は、このように書いていました。 | ||
+ | <syntaxhighlight lang="vim"> | ||
+ | call neobundle#begin(expand('~/.vim/bundle')) | ||
+ | NeoBundleFetch 'Shougo/neobundle.vim' | ||
+ | call neobundle#end() | ||
+ | NeoBundle '...' | ||
+ | NeoBundle '...' | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | begin/end ブロックが悪いようなので、以下のように修正しました。これで問題は、修正されました。 | ||
+ | <syntaxhighlight lang="vim"> | ||
+ | call neobundle#begin(expand('~/.vim/bundle')) | ||
+ | NeoBundleFetch 'Shougo/neobundle.vim' | ||
+ | NeoBundle '...' | ||
+ | NeoBundle '...' | ||
+ | call neobundle#end() | ||
+ | </syntaxhighlight> | ||
== 関連項目 == | == 関連項目 == | ||
+ | * [[VimとNeoVimのプラグインマネージャDein.vim]] | ||
* [[vimのプラグイン管理]] | * [[vimのプラグイン管理]] | ||
<!-- vim: filetype=mediawiki | <!-- vim: filetype=mediawiki | ||
--> | --> |
2016年3月12日 (土) 20:07時点における最新版
NeoBundleとは、vimのプラグイン管理(プラグインマネージャ)のプラグインです。NeoBundleは、Vundleをベースにしています。Vundleとは違うコマンド名になっています。もし、今からプラグインマネージャーを使うのであれば、Vundleではなく、NeoBundleを使うべきです。vimのプラグインのインストールやアップデートを簡単に行えます。非同期実行のサポート、unite.vimの対応、リビジョン指定など、大幅に機能が強化されています。NeoBundleの開発は終了したため、VimとNeoVimのプラグインマネージャDein.vim を利用しましょう。
読み方
- NeoBundle
- ねお ばんどる
目次
- 1 概要
- 2 NeoBundle を利用する前に
- 3 vundleとNeoBundleの違い
- 4 注意
- 5 vimスクリプト
- 6 必要なもの
- 7 セットアップ
- 8 vundleからの移行
- 9 $HOME/.vimrc
- 10 :NeoBundleコマンドの引数
- 11 NeoBundle の使い方
- 12 プラグインのインストール
- 13 プラグインのアップデート
- 14 プラグインの削除
- 15 プラグインの遅延ロード
- 16 OSごとのロード
- 17 リビジョンのロック
- 18 ローカルのディレクトリからの読み込み NeoBundleLocal
- 19 依存関係の定義
- 20 非同期アップデート
- 21 プラグイン検索
- 22 エラー
- 23 関連項目
概要
NeoBundleは、プラグインマネージャの1つです。プラグインマネージャは、乱立しているため、いろいろなプラグインマネージャが存在しています。プラグインマネージャを導入することで、プラグインのインストールや更新が非常に簡単になります。
NeoBundleは、Vundleをベースにしています。 vimprocを使用することで、非同期にインストール/アップデートができます。
vimをプラグインで拡張することで、vimを統合開発環境(IDE)のように仕立てることもできます。詳しくは、vimのPHP開発環境などを御覧ください。
NeoBundle を利用する前に
NeoBundle を使い始めようとしている方は、VimとNeoVimのプラグインマネージャDein.vim を利用しましょう。NeoBundle の開発は終了しました。
vundleとNeoBundleの違い
vundleとの違いとNeoBundleの特徴です。
- コマンド名が変更されている
- BundleInstall -> NeoBundleInstall
- コマンド名に Neo というプレフィックスが追加されています。
- NeoBundleは、vimproc に対応しているため非同期に実行できます。
- NeoBundleは、unite.vim に対応しています
- NeoBundleは、リビジョンが指定できます。
注意
このドキュメントで出てくる foobarhoge/foo.vim, foobarhoge/bar.vim は、架空のプラグインです。
vimスクリプト
vimスクリプトは、github.comやwww.vim.orgで公開されています。
必要なもの
gitコマンドが必要です。
FreeBSD
% sudo pkg install git
Ubuntu
% sudo apt-get install git-core
Windows
Git for Windowsをインストールします。 http://git-scm.com/downloads からダウンロードできます。
インストール時のオプション設定は、以下の通りです。
- Adjusting your PATH environment は Use Git Bash only を選択しました。
- Run Git and included Unix Tools from the Windows Command Prompt は、find.exe, sort.exe とかを上書きするとか書いてあったので、やめておきました。
- Configuring the line ending conversions は Checkout Windows-style, commit Unix-style line endings を選択しました。
セットアップ
NeoBundle自体は、一度、手動でローカルにダウンロードする必要があります。gitコマンドで簡単に取り寄せられます。
% mkdir ~/.vim/bundle % git clone https://github.com/Shougo/neobundle.vim \ ~/.vim/bundle/neobundle.vim
vundleからの移行
vundle をもし使用していたなら、vundleとプラグインを一度、削除してしまいましょう。
% rm -rf $HOME/.vim/bundle % rm -rf $HOME/.vim/vundle.git
また、.vimrc から bundle に関連する設定を消しましょう。 .vimrc の Bundle は NeoBundle に変更します。
$HOME/.vimrc
set nocompatible filetype off " for NeoBundle if has('vim_starting') set rtp+=$HOME/.vim/bundle/neobundle.vim/ endif call neobundle#begin(expand('~/.vim/bundle')) NeoBundleFetch 'Shougo/neobundle.vim' call neobundle#end() " ここから NeoBundle でプラグインを設定します " NeoBundle で管理するプラグインを追加します。 NeoBundle 'Shougo/neocomplcache.git' NeoBundle 'Shougo/unite.vim.git' filetype plugin indent on " restore filetype
:NeoBundleコマンドの引数
github, vim.org のプラグインのアドレスは、省略できます。
- NeoBundle 'git://github.com/foobarhoge/foo.vim'
- フルパス
- NeoBundle 'foobarhoge/foo.vim'
- 省略表記, github.comのリポジトリを意味します
- NeoBundle 'hoge'
- プラグイン名のみの場合は、vim.orgのプラグインを表します。
NeoBundle の使い方
基本的に .vimrc に NeoBundle 'foo.vim' の行を追加し、vimから :NeoBundleInstall してプラグインをインストールし、 NeoBundleUpdate でプラグインを更新できます。
詳しい説明は、以下をお読みください。
プラグインのインストール
プラグインを追加する場合には、以下の手順で行います。
- .vimrcにプラグインの設定を追加します。これは、例ですが、github.comで公開されている foobarhoge/foo.vim(実在しません)のプラグインを追加する場合は、
と設定します。NeoBundle 'foobarhoge/foo.vim'
- vimを起動します。
- NeoBundleInstallを実行します。
:NeoBundleInstall
- vimを終了し、vimを起動します。
- インストール(追加)したプラグインがロードされた状態になります。
Windowsの場合は、git bashを起動し、bash上からvimを起動します。
以上です。
プラグインのアップデート
プラグインをアップデートする場合には、以下の手順で行います。
- vim を起動します。
- NeoBundleUpdateを実行します。
:NeoBundleUpdate
- vimを終了し、vimを起動します。
NeoBundleUpdate の代わりに NeoBundleInstall! でもアップデートできます。
Windowsの場合は、git bashを起動し、bash上からvimを起動します。
以上です。
プラグインの削除
- .vimrcから NeoBundle の行を削除します。
- vimを起動します。
- :NeoBundleClean を実行します。
- vimを終了し、vimを起動します。
プラグインの遅延ロード
NeoBundleは、「遅延ロード」ができます。 プラグインを大量にロードするには、時間がかかり、vimの起動が遅くなります。 遅延ロードでは、必要になったタイミングでロードできます。
filetype が mediawiki のときに、 mediawiki.vim をロードする例です。
NeoBundleLazy 'mediawiki.vim', { \ "autoload" : { "filetypes" : [ "mediawiki" ] } }
OSごとのロード
これは、NeoBundleなどプラグインマネージャは関係はありません。 OSによって、使用するプラグイン、使用しないプラグインがあります。 Windowsでsudo.vimを使っていないので、以下の様な設定になっています。
if has("win32") || has("win64") " 設定 NeoBundleLazy 'mediawiki.vim', \ { "autoload" : { "filetypes" : [ "mediawiki" ] } } endif if has("unix") || has("mac") NeoBundle 'vim-scripts/gtags.vim', \ { "autoload" : { "filetypes" : [ "c", "cpp" ] } } NeoBundle 'vim-scripts/sudo.vim' endif
リビジョンのロック
引数にリビジョン番号やブランチ名を指定することで、特定のリビジョン、ブランチが使用できます。
NeoBundle 'foobarhoge/foo.vim', 'ver.1.50' NeoBundle 'foobarhoge/bar.vim', {'rev':'3333e3'}
ローカルのディレクトリからの読み込み NeoBundleLocal
NeoBundleLocal ~/.vim/bundle
依存関係の定義
プラグインごとに依存関係が定義できます。依存関係にあるプラグインもインストール、アップデートされます。
NeoBundle 'foobarhoge/foo.vim', \ { 'depends': 'foobarhoge/bar.vim' }
非同期アップデート
NeoBundleは、vimprocを自動認識します。vimprocがインストールされている場合、非同期でインストールとアップデートができます。
NeoBundle 'Shougo/vimproc', { \ 'build' : { \ 'windows' : 'make -f make_mingw32.mak', \ 'cygwin' : 'make -f make_cygwin.mak', \ 'mac' : 'make -f make_mac.mak', \ 'unix' : 'gmake -f make_unix.mak', \ }, \ }
プラグイン検索
unite.vim上でプラグインが検索できます。
- :Unite neobundle/search
エラー
[neobundle] neobundle#rc() is deprecated function.
NeoBundleをアップデートしたら、以下のエラーが出るようになりました。
[neobundle] neobundle#rc() is deprecated function. [neobundle] It will be removed in the next version. [neobundle] Please use neobundle#begin()/neobundle#end() instead.
.vimrcの以下の行を修正します。
call neobundle#rc(expand('~/.vim/bundle'))
修正後の設定は、以下の通りです。
call neobundle#begin(expand('~/.vim/bundle')) NeoBundleFetch 'Shougo/neobundle.vim' call neobundle#end()
[neobundle] `NeoBundle` commands must be executed within a neobundle#begin/end block.
NeoBundleをアップデートしたら、以下のエラーが出るようになりました。
[neobundle] `NeoBundle` commands must be executed within a neobundle#begin/end block. Please check your usage. call neobundle#end()
.vimrc の変更前は、このように書いていました。
call neobundle#begin(expand('~/.vim/bundle')) NeoBundleFetch 'Shougo/neobundle.vim' call neobundle#end() NeoBundle '...' NeoBundle '...'
begin/end ブロックが悪いようなので、以下のように修正しました。これで問題は、修正されました。
call neobundle#begin(expand('~/.vim/bundle')) NeoBundleFetch 'Shougo/neobundle.vim' NeoBundle '...' NeoBundle '...' call neobundle#end()