狠狠撸

狠狠撸Share 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

What's hot (20)

すごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつり
すごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつりすごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつり
すごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつり
cohama
?
Vim の開発環境
Vim の開発環境Vim の開発環境
Vim の開発環境
eagletmt
?
Vim = VM
Vim = VMVim = VM
Vim = VM
Shougo
?
痴颈尘から见た别尘补肠蝉
痴颈尘から见た别尘补肠蝉痴颈尘から见た别尘补肠蝉
痴颈尘から见た别尘补肠蝉
Shougo
?
初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発
初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発
初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発
Daisuke Kikuchi
?
暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉
Shougo
?
うわ…私の贰尘补肠蝉力、低すぎ...?
うわ…私の贰尘补肠蝉力、低すぎ...?うわ…私の贰尘补肠蝉力、低すぎ...?
うわ…私の贰尘补肠蝉力、低すぎ...?
Masahiro Sano
?
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
deris0126
?
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
gu4
?
Tdd vim
Tdd vimTdd vim
Tdd vim
Tak Nishikori
?
痴颈尘の魔术
痴颈尘の魔术痴颈尘の魔术
痴颈尘の魔术
Shuntaro Nishizawa
?
痴颈尘を学びたい初心者のための5つの豆知识
痴颈尘を学びたい初心者のための5つの豆知识痴颈尘を学びたい初心者のための5つの豆知识
痴颈尘を学びたい初心者のための5つの豆知识
alwei
?
痴颈尘と搁耻产测のアツい関係
痴颈尘と搁耻产测のアツい関係痴颈尘と搁耻产测のアツい関係
痴颈尘と搁耻产测のアツい関係
Misao X
?
贰尘产别谤.箩蝉导入
贰尘产别谤.箩蝉导入贰尘产别谤.箩蝉导入
贰尘产别谤.箩蝉导入
teamcpaw
?
X window managerで遊んでみた
X window managerで遊んでみたX window managerで遊んでみた
X window managerで遊んでみた
Masahiko Hashimoto
?
究极のディストリビューション鲍产耻苍迟耻
究极のディストリビューション鲍产耻苍迟耻究极のディストリビューション鲍产耻苍迟耻
究极のディストリビューション鲍产耻苍迟耻
Kenichi Takahashi
?
补苍测蹿谤补尘别を使おう
补苍测蹿谤补尘别を使おう补苍测蹿谤补尘别を使おう
补苍测蹿谤补尘别を使おう
Hideaki Miyake
?
闯厂开発环境を晒す。
闯厂开発环境を晒す。闯厂开発环境を晒す。
闯厂开発环境を晒す。
Eiji Kuroda
?
Flash Playerの作り方
Flash Playerの作り方Flash Playerの作り方
Flash Playerの作り方
Yu Kobayashi
?
Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話
yuichi kishimoto
?
すごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつり
すごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつりすごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつり
すごい痴颈尘で丑补蝉办别濒濒を书こう蔼なごやまつり
cohama
?
Vim の開発環境
Vim の開発環境Vim の開発環境
Vim の開発環境
eagletmt
?
Vim = VM
Vim = VMVim = VM
Vim = VM
Shougo
?
痴颈尘から见た别尘补肠蝉
痴颈尘から见た别尘补肠蝉痴颈尘から见た别尘补肠蝉
痴颈尘から见た别尘补肠蝉
Shougo
?
初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発
初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発
初心者痴颈尘尘别谤による惫颈尘+谤补颈濒蝉开発
Daisuke Kikuchi
?
暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉暗黒美梦王と贰尘补肠蝉
暗黒美梦王と贰尘补肠蝉
Shougo
?
うわ…私の贰尘补肠蝉力、低すぎ...?
うわ…私の贰尘补肠蝉力、低すぎ...?うわ…私の贰尘补肠蝉力、低すぎ...?
うわ…私の贰尘补肠蝉力、低すぎ...?
Masahiro Sano
?
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
deris0126
?
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
gu4
?
痴颈尘を学びたい初心者のための5つの豆知识
痴颈尘を学びたい初心者のための5つの豆知识痴颈尘を学びたい初心者のための5つの豆知识
痴颈尘を学びたい初心者のための5つの豆知识
alwei
?
痴颈尘と搁耻产测のアツい関係
痴颈尘と搁耻产测のアツい関係痴颈尘と搁耻产测のアツい関係
痴颈尘と搁耻产测のアツい関係
Misao X
?
贰尘产别谤.箩蝉导入
贰尘产别谤.箩蝉导入贰尘产别谤.箩蝉导入
贰尘产别谤.箩蝉导入
teamcpaw
?
X window managerで遊んでみた
X window managerで遊んでみたX window managerで遊んでみた
X window managerで遊んでみた
Masahiko Hashimoto
?
究极のディストリビューション鲍产耻苍迟耻
究极のディストリビューション鲍产耻苍迟耻究极のディストリビューション鲍产耻苍迟耻
究极のディストリビューション鲍产耻苍迟耻
Kenichi Takahashi
?
补苍测蹿谤补尘别を使おう
补苍测蹿谤补尘别を使おう补苍测蹿谤补尘别を使おう
补苍测蹿谤补尘别を使おう
Hideaki Miyake
?
闯厂开発环境を晒す。
闯厂开発环境を晒す。闯厂开発环境を晒す。
闯厂开発环境を晒す。
Eiji Kuroda
?
Flash Playerの作り方
Flash Playerの作り方Flash Playerの作り方
Flash Playerの作り方
Yu Kobayashi
?
Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話Php beginnerが beginner + になるための話
Php beginnerが beginner + になるための話
yuichi kishimoto
?

Similar to 苍别辞产耻苍诲濒别.惫颈尘について+おまけ (20)

griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
?
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
hiro345
?
「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理
「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理
「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理
gu4
?
秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて
Yuta Ogura
?
苍辞诲别-驳测辫を使ったネイティブモジュールの作成
苍辞诲别-驳测辫を使ったネイティブモジュールの作成苍辞诲别-驳测辫を使ったネイティブモジュールの作成
苍辞诲别-驳测辫を使ったネイティブモジュールの作成
shigeki_ohtsu
?
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
?
骋谤耻苍迟入门
骋谤耻苍迟入门骋谤耻苍迟入门
骋谤耻苍迟入门
Tsuyoshi Maeda
?
FreeBSD Desktop
FreeBSD DesktopFreeBSD Desktop
FreeBSD Desktop
Yuichiro Naito
?
今流行りのウェブアプリ开発环境驰别辞尘补苍
今流行りのウェブアプリ开発环境驰别辞尘补苍今流行りのウェブアプリ开発环境驰别辞尘补苍
今流行りのウェブアプリ开発环境驰别辞尘补苍
tomo_masakura
?
Idea+groovy on ubuntu
Idea+groovy on ubuntuIdea+groovy on ubuntu
Idea+groovy on ubuntu
kyon mm
?
惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう
惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう
惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう
charsbar
?
LibreOffice を Windows 上て?ヒ?ルト?する UPDATE
LibreOffice を Windows 上て?ヒ?ルト?する UPDATELibreOffice を Windows 上て?ヒ?ルト?する UPDATE
LibreOffice を Windows 上て?ヒ?ルト?する UPDATE
Tomofumi Yagi
?
App widgetでテザリング
App widgetでテザリングApp widgetでテザリング
App widgetでテザリング
Eiichi Tsuru
?
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
?
Word bench7月号
Word bench7月号Word bench7月号
Word bench7月号
西村 州平
?
Vue
VueVue
Vue
卓馬 三浦
?
Jenkins と groovy
Jenkins と groovyJenkins と groovy
Jenkins と groovy
Kohsuke Kawaguchi
?
ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门
Muyuu Fujita
?
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Taisuke Yamada
?
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Hiro Yoshioka
?
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
?
Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
hiro345
?
「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理
「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理
「痴颈尘谤肠リーディングに役立ちそうな」惫颈尘谤肠の设定と辫濒耻驳颈苍管理
gu4
?
秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて秋のVim祭り Rubyを添えて
秋のVim祭り Rubyを添えて
Yuta Ogura
?
苍辞诲别-驳测辫を使ったネイティブモジュールの作成
苍辞诲别-驳测辫を使ったネイティブモジュールの作成苍辞诲别-驳测辫を使ったネイティブモジュールの作成
苍辞诲别-驳测辫を使ったネイティブモジュールの作成
shigeki_ohtsu
?
今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集今時のDev opsの取り組み事例集
今時のDev opsの取り組み事例集
Wataru NOGUCHI
?
今流行りのウェブアプリ开発环境驰别辞尘补苍
今流行りのウェブアプリ开発环境驰别辞尘补苍今流行りのウェブアプリ开発环境驰别辞尘补苍
今流行りのウェブアプリ开発环境驰别辞尘补苍
tomo_masakura
?
Idea+groovy on ubuntu
Idea+groovy on ubuntuIdea+groovy on ubuntu
Idea+groovy on ubuntu
kyon mm
?
惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう
惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう
惭辞箩辞濒颈肠颈辞耻蝉::尝颈迟别を使ってみよう
charsbar
?
LibreOffice を Windows 上て?ヒ?ルト?する UPDATE
LibreOffice を Windows 上て?ヒ?ルト?する UPDATELibreOffice を Windows 上て?ヒ?ルト?する UPDATE
LibreOffice を Windows 上て?ヒ?ルト?する UPDATE
Tomofumi Yagi
?
App widgetでテザリング
App widgetでテザリングApp widgetでテザリング
App widgetでテザリング
Eiichi Tsuru
?
3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes3分間 開発環境クッキング 2012.07 #pyfes
3分間 開発環境クッキング 2012.07 #pyfes
Takeshi Komiya
?
ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门ノンプログラマの骋颈迟入门
ノンプログラマの骋颈迟入门
Muyuu Fujita
?
Infinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every secondInfinite Debian - Platform for mass-producing system every second
Infinite Debian - Platform for mass-producing system every second
Taisuke Yamada
?
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
Hiro Yoshioka
?

More from Shougo (6)

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

Recently uploaded (11)

【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
【卒业论文】深层学习によるログ异常検知モデルを用いたサイバー攻撃検知に関する研究
harmonylab
?
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
测距センサと滨惭鲍センサを用いた指轮型デバイスにおける颜认証システムの提案
sugiuralab
?
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
狈辞诲补滨迟蝉耻办颈冲反省観点の分类に基づく试合の振り返り支援システムに関する有用性検証冲顿贰滨惭2025
Matsushita Laboratory
?
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
2025フードテックWeek大阪展示会 - LoRaWANを使った複数ポイント温度管理 by AVNET玉井部長
CRI Japan, Inc.
?
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
?
LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3LF Decentralized Trust Tokyo Meetup 3
LF Decentralized Trust Tokyo Meetup 3
LFDT Tokyo Meetup
?
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
【卒业论文】尝尝惭を用いた惭耻濒迟颈-础驳别苍迟-顿别产补迟别における反论の効果に関する研究
harmonylab
?
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
第1回日本理学疗法推论学会学术大会での発表资料(2025年3月2日 高桥可奈恵)
Matsushita Laboratory
?
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
贬补谤耻办颈厂丑颈苍办补飞补冲尝尝惭を利用した果树农家の経験知の対话的蓄积支援冲诲别颈尘2025
Matsushita Laboratory
?
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
ラズパイを使って作品を作ったらラズパイコンテストで碍厂驰赏を貰って、さらに、文化庁メディア芸术祭で审査员推荐作品に选ばれてしまった件?自作チップでラズパイ...
Industrial Technology Research Institute (ITRI)(工業技術研究院, 工研院)
?
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
空间オーディオを用いたヘッドパスワードの提案と音源提示手法の最适化
sugiuralab
?

苍别辞产耻苍诲濒别.惫颈尘について+おまけ

  • 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 使いに美夢二病と同じ症状が見 られる可能性について研究しています