Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unite with script

4,279 views

Published on

Published in: Technology, Education
  • Dating direct: ♥♥♥ http://bit.ly/369VOVb ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Dating for everyone is here: ♥♥♥ http://bit.ly/369VOVb ♥♥♥
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Unite with script

  1. 1. Unite with Perl script hakobe932 1
  2. 2. ❖ id:hakobe932/@hakobe •本日の放送担当 •株式会社はてな ‣ アプリケーションエンジニア ‣ はてなココ •Perl/JS/Obj-C/Java •Scala 2 自己紹介
  3. 3. Vim
  4. 4. unite.vim https://github.com/shougo/unite.vim
  5. 5. ❖ 候補の一覧からアイテムを選択し アクションを実行するための汎用的な vimプラグイン •主な利用方法 ‣ ファイラ ‣ バッファセレクタ 5 unite.vim fuf.vim/ku.vim などと似ている
  6. 6. デモ
  7. 7. ❖ 一覧に表示するデータ(source)を 自由に定義できる •sourceの例 ‣ help: ヘルプ ‣ outline: ソースコードの構造 7 unite.vimの特徴 => Emacsのanything.el的な物
  8. 8. sourceをつくって vimを便利にしたい
  9. 9. function! s:source.gather_candidates(args,   if empty(s:hamburger) && empty(s:drink) | call s:get_menu() | endif   return map(copy(s:hamburger), '{          "word": v:val[0],          "source": "hamburger",          "kind": "command",          "action__command": "call unite#sources#mcdonalds#open_url(''".v:val[          }') endfunction
  10. 10. vim script よくわからない><
  11. 11. Perl でつくりたい!!
  12. 12. ❖ コマンドの実行結果をunite.vimの sourceとして利用できるプラグイン •Perlでuniteのsourceが作れる! unite-script http://github.com/hakobe/unite-script
  13. 13.
  14. 14. bookmark.pl
  15. 15. bookmark.pl my $target = 'http://b.hatena.ne.jp/hotentry.rss'; my $res = URI::Fetch->fetch( $target ); my $feed = XML::Feed->parse(($res->content)); for my $entry ($feed->entries) { say sprintf("%s,call system('open %s')", $entry->title, $entry->link); }
  16. 16. .vimrc nnoremap <unique> <silent> <Leader>ub :<C-u>Unite script:perl:/path/to/bookmarks.pl<CR>
  17. 17. twitter_user.pl
  18. 18. gmail.pl
  19. 19. itunes.pl
  20. 20. デモ
  21. 21. itunes.pl sub list { my $script = <<"SCRIPT"; tell application "iTunes" set cPlaylist to current playlist set resultString to "" repeat with i from 1 to count of tracks in cPlaylist set sName to name of track i in cPlaylist set sArtist to artist of track i in cPlaylist set sTime to time of track i in cPlaylist set resultString to resultString & sName & "t" & sArtist & "t" & sTime & "n" end repeat return resultString end tell SCRIPT
  22. 22. itunes.pl
  23. 23. ❖ unite-script •unite.vimのsourceをPerlで作れる •vimスクリプトわからないぼくでも 大丈夫! ❖ いろんなsourceをPerlでつくって vimを便利に使おう 24 まとめ

×