SlideShare a Scribd company logo
neobundle.vim


  プログラマー達よ
これがテキストエディタだ
自己紹介(いつもの)
●   一部には有名な Vimmer です
●   neocomplcache とか unite.vim とか作りました
●   去年、本を書きました(共著)
●   Vimmer ですが、 Emacs 勉強会にも参加します
●   ujihisa.vim と聞いてやって来ました
● 今回は歌がありません
● 今回は歌がありません

●   大事な事なので二度(ry
あなたはプラグインマネージャを
        使っていますか?
●   プラグインが乱立する時代、様々なプラグインを使
    い分けるためにプラグインマネージャは必須となり
    つつある
●   テキストエディタでなくても、Haskell, Python,
    Ruby, Go など、ライブラリ用のマネージャを搭載す
    る例は多い
●   最近だと、 Emacs もプラグインマネージャを標準
    搭載
●   Vimも負けてられない!
乱立するプラグインマネージャ
●   Vundle
●   Vim-addon-manager
●   Vimana                乱立するプラグインマネージャに
●   vim-flavor                新たな光が!
●   Pathogen
●   neobundle.vim
●   番外: git-submodule, VimJolts
●   Emacs: el-get.el, package.el, auto-install.el
neobundle.vim とは?
●   既存のプラグインマネージャが気に入らなかったた
    め、最強を目指して開発されたプラグインマネー
    ジャ
●   後発なだけに、他のプラグインマネージャを研究し
    て開発した
●   基本的な使用方法は Vundle に類似している
●   プラグインの設定は Bundle → NeoBundle とす
    ればそのまま使える
よくある誤解
●   Q: Vundle と neobundle.vim ってほとんど同じ
    もの?
●   A: 設定に一部互換性があるだけで、全然違います
既存のプラグインに対する利点
●   Vundle との互換性
●   Subversion, Mercurial 対応
●   プラグイン検索
●   unite.vim インタフェース
●   非同期アップデート
●   リビジョンロック、ブランチロック
●   遅延ロード
    etc...
neobundle.vim の簡単な使用方法
 $ git clone git://github.com/Shougo/neobundle.vim.git


 if has('vim_starting')
  set runtimepath+={path to neobundle directory}      neobundle.vimを
                                                     呼び出せるようにする
 endif
 call neobundle#rc(expand('~/.vim/bundle'))
                                                       neobundle.vim
                                                          の初期化
 " My Bundles here:
 NeoBundle “Shougo/neobundle.vim”
                                                   neobundle.vimが管理する
                                                       プラグインの登録
 filetype plugin indent on   " required!
:NeoBundle コマンド
 ●   プラグインを neobundle.vim に登録する
 ●   プラグインがインストールされていても、このコマン
     ドが .vimrc になければ読み込まれない
 ●   Vundle の :Bundle コマンドに相当        プラグインの
                                    リポジトリアドレス
                                       を指定




NeoBundle 'Shougo/vimfiler'            引数でオプション
                                        を指定できる
NeoBundle 'github:mattn/gist-vim.git'
NeoBundle
    'git://github.com/Shougo/unite.vim.git',
     {'directory' : 'unite'}
:NeoBundle コマンドの引数
  ●   github, vim.org に存在するプラグインのアドレス
      は省略できる
  ●   もちろん省略せずにフルパスを書いても良い
  ●   リポジトリのユーザー名があれば github の Vim
      plugin
                                        同じ意味


NeoBundle 'git://github.com/Shougo/unite.vim.git'
NeoBundle 'Shougo/unite.vim'
NeoBundle 'CSApprox'                  プラグイン名のみだと
                                     Vim.orgのプラグイン
                                           を表す
:NeoBundleInstall,
     :NeoBundleUpdate コマンド
●   登録されたプラグインをインストール・アップデート
    するコマンド
●   :NeoBundle コマンドだけではインストールされな
    いことに注意する
●   Vundleの :BundleInstall, :BundleInstall! コマ
    ンドに相当
●   引数を与えることで、指定したプラグインのみインス
    トール・アップデート可能
        –   プラグイン名はあいまい検索される
    NeoBundleInstall neocomplcache
プラグインのアンインストール方法
●   アンインストールしたいプラグインの :NeoBundle
    コマンドを削除かコメントアウトする
●   :NeoBundleClean コマンドを実行
●   Vundle の :BundleClean とほぼ同じ
●   引数にプラグイン名を与えれば現在読み込まれて
    いるプラグインも削除できる(が、危険)
Vundle との互換性
●   コマンドは基本的に Bundle → NeoBundle とす
    れば使える
●   引数も同じだが、整理・拡張されている
●   Vundle の場合、プラグイン名が Vundle なのにコ
    マンド名が Bundle なのでわかりにくい
●   Vundle ではわかりにくかったコマンドには別名を
    用意している
      –   例: NeoBundleInstall! → NeoBundleUpdate
●   :NeoBundle コマンドの後にコメントを記述可能
NeoBundleInstall neocomplcache “ Foo, Bar
git 以外のリポジトリに対応
 ●   Vundle は現在 git 専用だが、 neobundle は git
     以外にも Subversion, Mercurial にも対応してい
     る
 ●   しかも、他の VCS にも容易に対応可能な構造
 ●   ちなみに、Vundle でもよく要望されている
NeoBundle
 'http://svn.macports.org/repository/macports/
contrib/mpvim/'
リビジョンロック・ブランチロック
 ●   引数にリビジョン番号やブランチ名を指定すること
     で、特定のリビジョンや特定のブランチを使用する
     ことができる
 ●   インストール・アップデートするときに切り替わる
 ●   ちなみに、Vundle でよく要望されている機能
NeoBundle 'Shougo/vimfiler', 'ver.1.50'
NeoBundle 'Shougo/vimshell',{ 'rev' : '3787e5' }
アップデート時の自動ビルド
 ●   vimproc はアップデートすると再ビルドが必要だ
     が、それを自動化できる
 ●   ロードしたプラグインを解放できない Windows で
     は残念ながら無理


NeoBundle 'Shougo/vimproc', { 'build' : {
         'cygwin' : 'make -f make_cygwin.mak',
         'mac' : 'make -f make_mac.mak',
         'unix' : 'make -f make_unix.mak',
        },
     }
pathogen 互換機能
●   neobundle.vim は pathogen と設定の互換性は
    ないが、pathogen と同様、ある特定のディレクトリ
    からプラグインを読み込むことができる
●   :NeoBundleLocal コマンドを使用する
       –   実はこのコマンドはシンタックスシュガー


    NeoBundleLocal ~/.vim/bundle
依存関係の定義
●   プラグインごとに依存関係を定義できる
●   依存関係が定義されている場合、依存関係にある
    プラグインもインストール・アップデートされる
●   すでに neobundle 内で設定されている場合は無
    視される
●   依存関係を定義するには、NeoBundle コマンドの
    オプションに depends を指定する

    NeoBundle 'Shougo/vimfiler',
           { 'depends' : 'Shougo/unite.vim' }
プラグインの遅延ロード
●   特定の状況でしか使わないプラグインを遅延ロード
    できる
●   Vim の起動速度が早くなる
●   使わないけど、削除するのが忍びない場合にも便利
●   :NeoBundle の代わりに :NeoBundleLazy を使用
●   ロードするには :NeoBundleSource コマンド

    NeoBundleLazy 'RipRip/clang_complete',
    Autocmd FileType cpp
     NeoBundleSource clang_complete
非同期アップデート
●   neobundle.vim は vimproc を自動認識し、
    vimproc がインストールされていると非同期でイン
    ストール・アップデートできるようになる
●   基本的に、Windows はアップデートが遅いが非同
    期アップデートすることで3倍くらい早くなる
●   これは一度体感して見るべき
unite.vim インタフェース
●   unite.vim 上でプラグインの管理やインストール・
    アップデートが行える
●   :Unite neobundle でプラグインの管理
●   :Unite neobundle/install でプラグインのインス
    トール
●   :Unite neobundle/update でプラグインのアップ
    デート
●   デモ
プラグイン検索
●   unite.vim 上でプラグインの検索が行える
●   :Unite neobundle/search
●   当然プラグイン名で絞り込みが可能
●   標準で、vim.org に存在するプラグインの検索が可能
●   レシピを追加すれば他のプラグインも検索可能
●   デフォルトではプラグインの設定をヤンクする
●   install アクションで直接インストールも可能
●   デモ
レシピによるプラグイン定義
●   標準で検索できるのは、vim.org に存在するプラグイ
    ンのみ
●   el-get.el のように、外部レシピを用意して検索できる
●   レシピは neobundle.vim の検索機能から参照可能
●   標準外部レシピ(Pull request 歓迎)
    https://github.com/Shougo/neobundle-vim-scripts
●   みんなもレシピを書いて共有しよう
レシピの使い方
●   配布されているレシピは neobundle 上で管理できる
●   NeoBundle 'Shougo/neobundle-vim-scripts'
    と .vimrc に記述すれば OK
●   正確には、 'runtime' オプションからたどれるディレク
    トリにある receipes/*.json が読み込まれる
●   neobundle-vim-scripts は receipes/*.json を提供
    しているだけ
●   つまり、オレオレレシピを作成するのも簡単! 
レシピの書き方
●   receipes/*.json には :NeoBundle コマンドのオプ
    ション指定と同様、ディクショナリを指定する
●   指定できるキーはドキュメントを参照
         :help neobundle-receipe
●   レシピは neobundle.vim 以外でも使用できる(プラ
    グインが対応すれば)
{'name' : 'unite.vim',
 'path' : 'Shougo/unite.vim',
 'description' : 'Ultimate interface ...',
 'author' : 'Shougo',
'website':'https://github.com/Shougo/unite.vim',
 'script_type' : 'plugin',}
今後のneobundle.vim
●   新機能の開発はほぼ終了している
●   あとはレシピの充実とメンテナンス
●   そろそろ vim.org に公開?
      –   外国人に対して知名度が無すぎる
      –   neocomplcache は有名なのに……
まとめ
●   さぁ、みなさんも neobundle.vim を使ってみよう
    https://github.com/Shougo/neobundle.vim
●   余談: Vim テクニックバイブルの執筆後に
    neobundle.vim を開発したので、Vim テクニック
    バイブルには neobundle.vim は載っていません
●   Vundle は載っています
おわり
●   と思いきや……
●   ここで終わらないのが私の発表
最近のアニメやラノベ
●   ビム・アート・オンライン(通称:ビマーオンライン)
●   テキストエディタだけど、愛さえあれば関係ないよね!
●   俺の妹は Vim script が書ける
●   美夢二病だけど恋したい
●   Vim はじめました
●   俺は .vimrc が少ない
●   キングビム
●   エディカツ!
美夢二病とは?
●   Vim 使用から二年目移行で陥りやすい病気
●   自分は Vim に選ばれた存在であり、Vim の力で
    全てが解決できると思ってしまう
      –   いわゆるエディタに関して「痛い」人(エディ痛)
●   普通はすぐに治るが、重症化すると治すのは難しい
      –   誰とは言いませんが……
いわゆる美夢二病的発言例(1)
●   くっそ、また俺の Vim が暴れだしやがった!
●   ふ、Vim を使わぬものにはわからんだろう…
●   くっ……これが Vim の力ってやつか
●   宗教は Vim だけで十分だぜ
●   完全に、Vimmer として覚醒している……!
●   他エディタ使いがまた近づいてきたみたいだな
●   はン……Vim のことを知りたいのか
●   ビムアイ(Vim 愛、Vim 眼)
いわゆる美夢二病的発言例(2)
●   エターナルフォースビムザード! 相手のエディタは
    クラッシュする
●   本当に存在(あ)ったのか……「忘却の彼方へと葬
    られし黒魔術(プラグイン)が……」
●   Vim を使うと「美夢羅(ビムラ)」という魔族の人格
    が現れる
●   (勉強会で Vimmer を発見して)っく……美夢眼が
    ……共鳴している……!?
いわゆる美夢二病的発言例(3)
●   Vio「俺はテキストエディタをやめるぞ!! マック
    スー! 俺はテキストエディタを超越する! Vim
    plugin でだァーッ!」
●   お前は今まで書いた Vim script の行数を覚えて
    いるのか?
●   「我が名は暗黒美夢王(ダークビムマスター)、闇の
    エディタに焼かれて消えろ!」
まとめ
●   みなさんも、こうならないように節度を持って Vim
    を使いましょう
●   もし、運悪く美夢二病にかかってしまったらぜひ私
    に教えてください
      –   友達になりたがっている Vimmer がいます
●   最近では、Emacs 使いに美夢二病と同じ症状が見
    られる可能性について研究しています

More Related Content

ODP
Ultimate completion environment with neocomplcache in vim
ODP
modern X86 environment
PDF
Vimはこわくない
PDF
Shougoの開発環境
PDF
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
PDF
かなりすごい発表(かなり) at VimConf2014
PDF
neovim = VM
PDF
Unite vim
Ultimate completion environment with neocomplcache in vim
modern X86 environment
Vimはこわくない
Shougoの開発環境
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
かなりすごい発表(かなり) at VimConf2014
neovim = VM
Unite vim

What's hot (20)

PDF
すごいVimでhaskellを書こう@なごやまつり
PDF
Vim の開発環境
PDF
Vim = VM
PDF
Vimから見たemacs
PPTX
初心者Vimmerによるvim+rails開発
PDF
暗黒美夢王とEmacs
PDF
うわ…私のEmacs力、低すぎ...?
PDF
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
PDF
「とても小さいVim」vim tiny
 
PDF
Tdd vim
PDF
Vimの魔術
PDF
Vimを学びたい初心者のための5つの豆知識
PDF
VimとRubyのアツい関係
PPTX
Ember.js導入
PDF
X window managerで遊んでみた
PDF
究極のディストリビューションUbuntu
PDF
anyframeを使おう
PDF
JS開発環境を晒す。
PPT
Flash Playerの作り方
PDF
Php beginnerが beginner + になるための話
すごいVimでhaskellを書こう@なごやまつり
Vim の開発環境
Vim = VM
Vimから見たemacs
初心者Vimmerによるvim+rails開発
暗黒美夢王とEmacs
うわ…私のEmacs力、低すぎ...?
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
「とても小さいVim」vim tiny
 
Tdd vim
Vimの魔術
Vimを学びたい初心者のための5つの豆知識
VimとRubyのアツい関係
Ember.js導入
X window managerで遊んでみた
究極のディストリビューションUbuntu
anyframeを使おう
JS開発環境を晒す。
Flash Playerの作り方
Php beginnerが beginner + になるための話
Ad

Similar to neobundle.vimについて+おまけ (20)

PPTX
20130523 vim勉強会
PDF
速習Vim
PPTX
秋のVim祭り Rubyを添えて
PDF
Nagoya vim #1 about plugins
PDF
「Vim初心者によるVim入門@haman29」
PDF
Vimの基本設定
PDF
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
PPTX
kyoto vim#1
PDF
10分で作るScala開発環境 using vim
PDF
Vimプラグインを使おう
PDF
rucs_vim LT
PPTX
おすすめVimプラグインまとめ
PDF
vimプラグインでよりよい(ry
PDF
Using xvim with macvim
KEY
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
PDF
易しいVim
PPT
Linuxにおける開発環境
PDF
Vimのpluginを書く
PDF
Vim の話
PDF
Vim入門 20130210
20130523 vim勉強会
速習Vim
秋のVim祭り Rubyを添えて
Nagoya vim #1 about plugins
「Vim初心者によるVim入門@haman29」
Vimの基本設定
「Vimrcリーディングに役立ちそうな」vimrcの設定とplugin管理
 
kyoto vim#1
10分で作るScala開発環境 using vim
Vimプラグインを使おう
rucs_vim LT
おすすめVimプラグインまとめ
vimプラグインでよりよい(ry
Using xvim with macvim
Emacs 使いが Vim を使ってみた(ちょっとだけGit)
易しいVim
Linuxにおける開発環境
Vimのpluginを書く
Vim の話
Vim入門 20130210
Ad

More from Shougo (6)

PDF
Vim conf2019
ODP
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
ODP
カードゲームで学ぶテキストエディタ
PDF
deoplete: The dark powered auto completion plugin for neovim
PDF
Let's talk about neovim
PDF
An introduction to neocomplete
Vim conf2019
Neosnippet.vim + Deoppet.nvim in Vim conf 2017
カードゲームで学ぶテキストエディタ
deoplete: The dark powered auto completion plugin for neovim
Let's talk about neovim
An introduction to neocomplete

neobundle.vimについて+おまけ

  • 2. 自己紹介(いつもの) ● 一部には有名な Vimmer です ● neocomplcache とか unite.vim とか作りました ● 去年、本を書きました(共著) ● Vimmer ですが、 Emacs 勉強会にも参加します ● ujihisa.vim と聞いてやって来ました ● 今回は歌がありません ● 今回は歌がありません ● 大事な事なので二度(ry
  • 3. あなたはプラグインマネージャを 使っていますか? ● プラグインが乱立する時代、様々なプラグインを使 い分けるためにプラグインマネージャは必須となり つつある ● テキストエディタでなくても、Haskell, Python, Ruby, Go など、ライブラリ用のマネージャを搭載す る例は多い ● 最近だと、 Emacs もプラグインマネージャを標準 搭載 ● Vimも負けてられない!
  • 4. 乱立するプラグインマネージャ ● Vundle ● Vim-addon-manager ● Vimana 乱立するプラグインマネージャに ● vim-flavor 新たな光が! ● Pathogen ● neobundle.vim ● 番外: git-submodule, VimJolts ● Emacs: el-get.el, package.el, auto-install.el
  • 5. neobundle.vim とは? ● 既存のプラグインマネージャが気に入らなかったた め、最強を目指して開発されたプラグインマネー ジャ ● 後発なだけに、他のプラグインマネージャを研究し て開発した ● 基本的な使用方法は Vundle に類似している ● プラグインの設定は Bundle → NeoBundle とす ればそのまま使える
  • 6. よくある誤解 ● Q: Vundle と neobundle.vim ってほとんど同じ もの? ● A: 設定に一部互換性があるだけで、全然違います
  • 7. 既存のプラグインに対する利点 ● Vundle との互換性 ● Subversion, Mercurial 対応 ● プラグイン検索 ● unite.vim インタフェース ● 非同期アップデート ● リビジョンロック、ブランチロック ● 遅延ロード etc...
  • 8. neobundle.vim の簡単な使用方法 $ git clone git://github.com/Shougo/neobundle.vim.git if has('vim_starting') set runtimepath+={path to neobundle directory} neobundle.vimを 呼び出せるようにする endif call neobundle#rc(expand('~/.vim/bundle')) neobundle.vim の初期化 " My Bundles here: NeoBundle “Shougo/neobundle.vim” neobundle.vimが管理する プラグインの登録 filetype plugin indent on " required!
  • 9. :NeoBundle コマンド ● プラグインを neobundle.vim に登録する ● プラグインがインストールされていても、このコマン ドが .vimrc になければ読み込まれない ● Vundle の :Bundle コマンドに相当 プラグインの リポジトリアドレス を指定 NeoBundle 'Shougo/vimfiler' 引数でオプション を指定できる NeoBundle 'github:mattn/gist-vim.git' NeoBundle 'git://github.com/Shougo/unite.vim.git', {'directory' : 'unite'}
  • 10. :NeoBundle コマンドの引数 ● github, vim.org に存在するプラグインのアドレス は省略できる ● もちろん省略せずにフルパスを書いても良い ● リポジトリのユーザー名があれば github の Vim plugin 同じ意味 NeoBundle 'git://github.com/Shougo/unite.vim.git' NeoBundle 'Shougo/unite.vim' NeoBundle 'CSApprox' プラグイン名のみだと Vim.orgのプラグイン を表す
  • 11. :NeoBundleInstall, :NeoBundleUpdate コマンド ● 登録されたプラグインをインストール・アップデート するコマンド ● :NeoBundle コマンドだけではインストールされな いことに注意する ● Vundleの :BundleInstall, :BundleInstall! コマ ンドに相当 ● 引数を与えることで、指定したプラグインのみインス トール・アップデート可能 – プラグイン名はあいまい検索される NeoBundleInstall neocomplcache
  • 12. プラグインのアンインストール方法 ● アンインストールしたいプラグインの :NeoBundle コマンドを削除かコメントアウトする ● :NeoBundleClean コマンドを実行 ● Vundle の :BundleClean とほぼ同じ ● 引数にプラグイン名を与えれば現在読み込まれて いるプラグインも削除できる(が、危険)
  • 13. Vundle との互換性 ● コマンドは基本的に Bundle → NeoBundle とす れば使える ● 引数も同じだが、整理・拡張されている ● Vundle の場合、プラグイン名が Vundle なのにコ マンド名が Bundle なのでわかりにくい ● Vundle ではわかりにくかったコマンドには別名を 用意している – 例: NeoBundleInstall! → NeoBundleUpdate ● :NeoBundle コマンドの後にコメントを記述可能 NeoBundleInstall neocomplcache “ Foo, Bar
  • 14. git 以外のリポジトリに対応 ● Vundle は現在 git 専用だが、 neobundle は git 以外にも Subversion, Mercurial にも対応してい る ● しかも、他の VCS にも容易に対応可能な構造 ● ちなみに、Vundle でもよく要望されている NeoBundle 'http://svn.macports.org/repository/macports/ contrib/mpvim/'
  • 15. リビジョンロック・ブランチロック ● 引数にリビジョン番号やブランチ名を指定すること で、特定のリビジョンや特定のブランチを使用する ことができる ● インストール・アップデートするときに切り替わる ● ちなみに、Vundle でよく要望されている機能 NeoBundle 'Shougo/vimfiler', 'ver.1.50' NeoBundle 'Shougo/vimshell',{ 'rev' : '3787e5' }
  • 16. アップデート時の自動ビルド ● vimproc はアップデートすると再ビルドが必要だ が、それを自動化できる ● ロードしたプラグインを解放できない Windows で は残念ながら無理 NeoBundle 'Shougo/vimproc', { 'build' : { 'cygwin' : 'make -f make_cygwin.mak', 'mac' : 'make -f make_mac.mak', 'unix' : 'make -f make_unix.mak', }, }
  • 17. pathogen 互換機能 ● neobundle.vim は pathogen と設定の互換性は ないが、pathogen と同様、ある特定のディレクトリ からプラグインを読み込むことができる ● :NeoBundleLocal コマンドを使用する – 実はこのコマンドはシンタックスシュガー NeoBundleLocal ~/.vim/bundle
  • 18. 依存関係の定義 ● プラグインごとに依存関係を定義できる ● 依存関係が定義されている場合、依存関係にある プラグインもインストール・アップデートされる ● すでに neobundle 内で設定されている場合は無 視される ● 依存関係を定義するには、NeoBundle コマンドの オプションに depends を指定する NeoBundle 'Shougo/vimfiler', { 'depends' : 'Shougo/unite.vim' }
  • 19. プラグインの遅延ロード ● 特定の状況でしか使わないプラグインを遅延ロード できる ● Vim の起動速度が早くなる ● 使わないけど、削除するのが忍びない場合にも便利 ● :NeoBundle の代わりに :NeoBundleLazy を使用 ● ロードするには :NeoBundleSource コマンド NeoBundleLazy 'RipRip/clang_complete', Autocmd FileType cpp NeoBundleSource clang_complete
  • 20. 非同期アップデート ● neobundle.vim は vimproc を自動認識し、 vimproc がインストールされていると非同期でイン ストール・アップデートできるようになる ● 基本的に、Windows はアップデートが遅いが非同 期アップデートすることで3倍くらい早くなる ● これは一度体感して見るべき
  • 21. unite.vim インタフェース ● unite.vim 上でプラグインの管理やインストール・ アップデートが行える ● :Unite neobundle でプラグインの管理 ● :Unite neobundle/install でプラグインのインス トール ● :Unite neobundle/update でプラグインのアップ デート ● デモ
  • 22. プラグイン検索 ● unite.vim 上でプラグインの検索が行える ● :Unite neobundle/search ● 当然プラグイン名で絞り込みが可能 ● 標準で、vim.org に存在するプラグインの検索が可能 ● レシピを追加すれば他のプラグインも検索可能 ● デフォルトではプラグインの設定をヤンクする ● install アクションで直接インストールも可能 ● デモ
  • 23. レシピによるプラグイン定義 ● 標準で検索できるのは、vim.org に存在するプラグイ ンのみ ● el-get.el のように、外部レシピを用意して検索できる ● レシピは neobundle.vim の検索機能から参照可能 ● 標準外部レシピ(Pull request 歓迎) https://github.com/Shougo/neobundle-vim-scripts ● みんなもレシピを書いて共有しよう
  • 24. レシピの使い方 ● 配布されているレシピは neobundle 上で管理できる ● NeoBundle 'Shougo/neobundle-vim-scripts' と .vimrc に記述すれば OK ● 正確には、 'runtime' オプションからたどれるディレク トリにある receipes/*.json が読み込まれる ● neobundle-vim-scripts は receipes/*.json を提供 しているだけ ● つまり、オレオレレシピを作成するのも簡単! 
  • 25. レシピの書き方 ● receipes/*.json には :NeoBundle コマンドのオプ ション指定と同様、ディクショナリを指定する ● 指定できるキーはドキュメントを参照 :help neobundle-receipe ● レシピは neobundle.vim 以外でも使用できる(プラ グインが対応すれば) {'name' : 'unite.vim', 'path' : 'Shougo/unite.vim', 'description' : 'Ultimate interface ...', 'author' : 'Shougo', 'website':'https://github.com/Shougo/unite.vim', 'script_type' : 'plugin',}
  • 26. 今後のneobundle.vim ● 新機能の開発はほぼ終了している ● あとはレシピの充実とメンテナンス ● そろそろ vim.org に公開? – 外国人に対して知名度が無すぎる – neocomplcache は有名なのに……
  • 27. まとめ ● さぁ、みなさんも neobundle.vim を使ってみよう https://github.com/Shougo/neobundle.vim ● 余談: Vim テクニックバイブルの執筆後に neobundle.vim を開発したので、Vim テクニック バイブルには neobundle.vim は載っていません ● Vundle は載っています
  • 28. おわり ● と思いきや…… ● ここで終わらないのが私の発表
  • 29. 最近のアニメやラノベ ● ビム・アート・オンライン(通称:ビマーオンライン) ● テキストエディタだけど、愛さえあれば関係ないよね! ● 俺の妹は Vim script が書ける ● 美夢二病だけど恋したい ● Vim はじめました ● 俺は .vimrc が少ない ● キングビム ● エディカツ!
  • 30. 美夢二病とは? ● Vim 使用から二年目移行で陥りやすい病気 ● 自分は Vim に選ばれた存在であり、Vim の力で 全てが解決できると思ってしまう – いわゆるエディタに関して「痛い」人(エディ痛) ● 普通はすぐに治るが、重症化すると治すのは難しい – 誰とは言いませんが……
  • 31. いわゆる美夢二病的発言例(1) ● くっそ、また俺の Vim が暴れだしやがった! ● ふ、Vim を使わぬものにはわからんだろう… ● くっ……これが Vim の力ってやつか ● 宗教は Vim だけで十分だぜ ● 完全に、Vimmer として覚醒している……! ● 他エディタ使いがまた近づいてきたみたいだな ● はン……Vim のことを知りたいのか ● ビムアイ(Vim 愛、Vim 眼)
  • 32. いわゆる美夢二病的発言例(2) ● エターナルフォースビムザード! 相手のエディタは クラッシュする ● 本当に存在(あ)ったのか……「忘却の彼方へと葬 られし黒魔術(プラグイン)が……」 ● Vim を使うと「美夢羅(ビムラ)」という魔族の人格 が現れる ● (勉強会で Vimmer を発見して)っく……美夢眼が ……共鳴している……!?
  • 33. いわゆる美夢二病的発言例(3) ● Vio「俺はテキストエディタをやめるぞ!! マック スー! 俺はテキストエディタを超越する! Vim plugin でだァーッ!」 ● お前は今まで書いた Vim script の行数を覚えて いるのか? ● 「我が名は暗黒美夢王(ダークビムマスター)、闇の エディタに焼かれて消えろ!」
  • 34. まとめ ● みなさんも、こうならないように節度を持って Vim を使いましょう ● もし、運悪く美夢二病にかかってしまったらぜひ私 に教えてください – 友達になりたがっている Vimmer がいます ● 最近では、Emacs 使いに美夢二病と同じ症状が見 られる可能性について研究しています