Unite vim
Upcoming SlideShare
Loading in...5
×
 

Unite vim

on

  • 31,423 views

現在私が開発中のunite.vimに関する紹介です。オマケとして、今までの発表をダイジェスト形式で御届けしています。

現在私が開発中のunite.vimに関する紹介です。オマケとして、今までの発表をダイジェスト形式で御届けしています。

Statistics

Views

Total Views
31,423
Views on SlideShare
31,184
Embed Views
239

Actions

Likes
60
Downloads
74
Comments
2

17 Embeds 239

http://s.deeeki.com 94
https://twitter.com 42
http://harajukutech.tumblr.com 28
http://slideshare.yuza.net 20
http://www.mefeedia.com 17
https://si0.twimg.com 9
http://harajuku-tech.org 5
http://slideshare.yuzar.net 5
https://twimg0-a.akamaihd.net 5
http://twitter.com 4
http://paper.li 3
http://www.slashdocs.com 2
https://www.chatwork.com 1
http://twib.jp 1
https://api.twitter.com 1
http://a0.twimg.com 1
http://slideshare-download.seesaa.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

12 of 2

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Unite vim Unite vim Presentation Transcript

    • ゆないと! unite.vim ーすべてを破壊し、すべてを繋げー Shougo 1
    • 自己紹介 ハンドルネーム:Shougo Vim大好き 他の勉強会によく出没します 知っている人は知っている Lingrによくいます 毎日Vim Scriptを書いています 戦闘力:数万 2
    • 今までの(勉強会での) あらすじ 3
    • 伝説のVim=VM 4
    • その内容 5
    • その結果 ごらんの有様だよ! 6
    • そして迎えたx86勉強会 7
    • その内容 注:イメージです 8
    • 深まる誤解 またしても、ごらんの有様だよ! 9
    • lingrでのやりとりも…… 10
    • 変態じゃないよ! 「ボクはただ、Vim Scriptを書いていると何か興 奮することに気付いただけなんだ。変態じゃない よ。仮に変態だとしても、変態という名の紳士だ よ!」 11
    • 今日はunite.vimの紹介を します 12
    • 名前の由来 今までのインタフェースを「破壊」し、新たなインタ フェースの元にすべてを「統一」する ちなみに、某「仮面ライダー」とは何の関係もありま せん おのれunite、貴様のせいでこのVimの世界も破壊 されてしまった! 13
    • unite.vimとは? Vim Scriptで実装されたanythingプラグイン 似たようなプラグインとして、ku.vimや fuzzyfinder.vim等がある が、設計思想はかなり異なる いつの日か、すべてを統一するプラグインになる (予定) http://github.com/Shougo/unite.vim 14
    • unite.vimを作った理由 自分はVim信者なので、anything.elがVimに も欲しかった しかし、fuzzyfinder.vim, ku.vimともに開発が ストップする sourceを統合できるku.vim Ver.0.3を元 に、neouiを開発スタート だが、ku.vimの中身はよく分からない その上にInsert mode補完の限界が見えてくる もう0から自作してしまおう! 15
    • anything.elの紹介 anything.elとは、「候補を選択しアクションを実        行する」という操作を汎用的に実行するプラグイ   ン イメージとしてはファイラーに近いが、操作する ものはファイルに限定されない 候補を収集する「source」と呼ばれるものを追 加することで、何でもanything化することができ る もっと詳しい解説は、 会場にいるEmacs使いに聞こう! 16
    • anything.elの使用例 このように、「バッファ」「ファイル」「最近使用した        ファイル」を統合し、一度に検索することができ   る。 17
    • 簡単な使い方 ~/.vimにunite.vimの配布ファイルをインストールする Vimを立ち上げる :Unite buffer file file_mruを実行する 普通に使うときは専用のキーマッピングを定義する もっと詳しい解説は:help uniteで 18
    • unite.vimの優位性 Insert mode / Normal modeのどちらでも使える よりVimとの親和性の高いanythingを実現 開発が盛ん 比較的簡単にsourceを追加可能 候補をマークしてアクションの実行ができる ワイルドカードの実装 スペース区切りによる絞り込み 19
    • 注意! これからはunite.vimの思想や内部構造について の話をします しかし、unite.vimはまだ開発中なので、これらの機 能は実装されていない可能性があります 実装されていなくても泣かない unite.vimを使うときは、部屋を明るくしてモニター から30cmほど離れてください 20
    • unite.vimの設計思想 Insert modeに入って絞り込み、Normal modeで実行やactionの 選択を行う ku.vim, fuzzyfinder.vimのように、Vim組み込みの補完リストは使 用しない action, sourceは自由に追加・カスタマイズが可能 sourceにはパラメータを渡せないので、:FufFile pathみたいなこと はできない 曖昧マッチはできない。パフォーマンスの影響があるため。 sortはsourceを指定した順番で行われる。同一sourceの順序づけ はsource内で行う。この仕様はanything.elと同一。 ワイルドカードはあるが、正規表現で検索はしない。メタキャラクタに よるマッチは邪魔である。 21
    • kind buffer, file, directoryのように、候補の型による共通の操作をまとめ たもの 標準のもの以外にも、ユーザーやsourceで自由に追加可能 kindがそれぞれのactionを定義している(source側で上書きも可 能) ku.vimではsouceがkindを持っているが、unite.vimではkindを持 つのは候補(candidates)側である ディレクトリだったら絞り込み、といった設定が容易にできる ちなみに、anything.elではtypeと呼ぶ kindはku.vimの用語 22
    • source anything.elでは情報源とも呼ぶ 候補(candidates)をいろいろなところから収集するルーチンのこと sourceがなければunite.vimはゴミ 現在はbuffer, file, file_mru, register, bookmarkが実装されてい るが、ユーザーも自由にsourceを追加できる bufferはバッファリストからバッファの候補を収集する fileはglob()を使ってファイルの候補を収集する file_mruはautocmdを使って開いたファイルを記録し、候補とする registerはレジスタの値を候補とする bookmarkはブックマークしたファイル・ディレクトリを候補とする 23
    • action 選択した候補に対して行う操作のこと <Enter>を押したときにはデフォルトのactionが実行される <Tab>を押すと、そのほかのアクションも実行できる 複数選択可能にしたり、実行後すぐ終了したりといったフラグを持た せることができる 例えば、openやdeleteといったactionは複数選択可能になっている 24
    • ちなみに…… ku.vimにあったkey_tableは存在しない アクションの選択では先頭マッチによる省略と補完ができる 例:openならばoと省略ができる。   ただし、他にoで始まる候補がない場合のみ。 当初はNormal modeを主力とする予定だったが、ku.vim, fuzzyfinder.vimに慣れていたユーザーの意見により、Insert mode でもそれなりの処理ができるようになった 25
    • ちなみに…… Normal modeが主軸なので、キーマッピングは自由自在 候補のマークなど、vimfilerの影響もかなり受けている ぶっちゃけると、いつかanything.elすら越えて、独自の進化をしたい 参考:vimfiler 26
    • 今後のunite.vim そろそろsourceの仕様を固める ユーザーがカスタマイズ可能にする ヘルプの更なる充実 neocomplcacheの補完もunite.vimに統合 helpやタグから検索してジャンプ fuzzyfinder.vimの機能の取り込み 27
    • まとめ anythingインタフェースはもはやEmacsユーザー の専売特許ではありません! みなさんもunite.vimを活用して、快適な生活を送り ましょう 28
    • おまけ anything.elを勉強するには、「Emacsテクニックバ イブル」がおすすめ! この本を読んで、Vimの戦闘力を向上させましょう 29
    • ご静聴ありがとうございました 僕もまた――― Vimというエディタに踊らされただけの 犠牲者の一人に過ぎないってことさ――― 30