LoginSignup
10
10

More than 1 year has passed since last update.

もういっそのこと, NeoBundleでVim以外のあらゆるリポジトリも一元管理する

Last updated at Posted at 2014-09-15

はじめに

NeoBundleは通常Vimプラグインを管理するために使うが,
Vimプラグイン以外のリポジトリのダウンロードも管理することができる.

NeoBundleで管理してしまえば, :NeoBundleUpdate
(Uniteを使っているのであれば, :Unite neobundle/update)
により, githubなどにある, あらゆるリモートリポジトリから,
ローカルへ一括で更新できるようになる.

(当初, Emacs LispのリポジトリはEmacs (el-get) で管理,
VimプラグインのリポジトリはVim (Neobundle) で管理しようとしたが,
面倒だったので, 思い切って全部NeoBundleで管理してみたら, 思いの外スッキリした. )

使用例

Vimプラグイン以外のリポジトリをNeoBundleで管理するには, :NeoBundleFetchを使う.
(:helpに書いてあるが, :NeoBundleFetchを使うと,
runtimepathへ追加せずに, NeoBundleで管理ができる. )

ダウンロード先ディレクトリを指定するには, 下記のようにbaseオプションを使う.

~/.vimrc
let g:emacs_bundle = $HOME . '/.emacs.d/bundle'

NeoBundleFetch 'winterTTr/ace-jump-mode', {
\ 'base' : g:emacs_bundle,
\ }

branchを指定するには, 下記のようにリポジトリ名の後にbranch名を書く.

~/.vimrc
NeoBundleFetch 'magit/magit', 'maint', {
\ 'base' : g:emacs_bundle,
}

ダウンロードした後に, 自動でmakeするには,
下記のようにbuildオプションを使う.

~/.vimrc
NeoBundleFetch 'git://orgmode.org/org-mode.git', {
\ 'base' : g:emacs_bundle,
\ 'build' : {
\   'windows' : 'make',
\   'cygwin'  : 'make',
\   'mac'     : 'make',
\   'unix'    : 'make',
\   },
\ }

Subversionのリポジトリも管理できる.
ディレクトリ名を指定するには, 下記のようにnameオプションを使う.

~/.vimrc
NeoBundleFetch 'https://emacs-evernote-mode.googlecode.com/svn/trunk', {
\ 'name' : 'evernote-mode',
\ 'base' : g:emacs_bundle,
\ }

Mercurialのリポジトリを管理するには,
下記のようにtypeオプションにhgを指定する.

~/.vimrc
NeoBundleFetch 'https://www.yatex.org/hgrepos/yatex', {
\ 'type' : 'hg',
\ 'name' : 'yatex',
\ 'base' : g:emacs_bundle,
\}

(例にEmacs Lispばかり挙げているが,
もちろん他のリポジトリも管理できる. )

10
10
0

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
10
10