Soumettre la recherche
Mettre en ligne
かなりすごい発表(かなり) at VimConf2014
•
41 j'aime
•
22,535 vues
Sugoi Kanari
Suivre
Sound makes vim more benrily.
Lire moins
Lire la suite
Ingénierie
Signaler
Partager
Signaler
Partager
1 sur 94
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Shougoの開発環境
Shougoの開発環境
Shougo
初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発
Daisuke Kikuchi
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
Shougo
modern X86 environment
modern X86 environment
Shougo
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
Vimから見たemacs
Vimから見たemacs
Shougo
neovim = VM
neovim = VM
Shougo
Recommandé
Shougoの開発環境
Shougoの開発環境
Shougo
初心者Vimmerによるvim+rails開発
初心者Vimmerによるvim+rails開発
Daisuke Kikuchi
Ultimate completion environment with neocomplcache in vim
Ultimate completion environment with neocomplcache in vim
Shougo
modern X86 environment
modern X86 environment
Shougo
neobundle.vimについて+おまけ
neobundle.vimについて+おまけ
Shougo
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
我が evil-mode を嫌いな理由 〜evil-mode の闇〜
Shougo
Vimから見たemacs
Vimから見たemacs
Shougo
neovim = VM
neovim = VM
Shougo
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Shougo
Unite vim
Unite vim
Shougo
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
Vim = VM
Vim = VM
Shougo
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
cohama
Vimはこわくない
Vimはこわくない
Yuichi Watanabe
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識
alwei
Vim の開発環境
Vim の開発環境
eagletmt
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
deris0126
エディタ戦争
エディタ戦争
Akira Hagiwara
anyframeを使おう
anyframeを使おう
Hideaki Miyake
anyframeを使おう
anyframeを使おう
Hideaki Miyake
VimとRubyのアツい関係
VimとRubyのアツい関係
Misao X
Tdd vim
Tdd vim
Tak Nishikori
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
Kenichi Takahashi
Vimの魔術
Vimの魔術
Shuntaro Nishizawa
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
gu4
X window managerで遊んでみた
X window managerで遊んでみた
Masahiko Hashimoto
Ember.js導入
Ember.js導入
teamcpaw
pecoを使おう
pecoを使おう
Hideaki Miyake
【Zabbix jp】明日から職場で使えるざびたん
【Zabbix jp】明日から職場で使えるざびたん
Seiichiro Ishida
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
Takafumi Inamori
Contenu connexe
Tendances
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Shougo
Unite vim
Unite vim
Shougo
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Masahiro Sano
Vim = VM
Vim = VM
Shougo
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
cohama
Vimはこわくない
Vimはこわくない
Yuichi Watanabe
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識
alwei
Vim の開発環境
Vim の開発環境
eagletmt
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
deris0126
エディタ戦争
エディタ戦争
Akira Hagiwara
anyframeを使おう
anyframeを使おう
Hideaki Miyake
anyframeを使おう
anyframeを使おう
Hideaki Miyake
VimとRubyのアツい関係
VimとRubyのアツい関係
Misao X
Tdd vim
Tdd vim
Tak Nishikori
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
Kenichi Takahashi
Vimの魔術
Vimの魔術
Shuntaro Nishizawa
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
gu4
X window managerで遊んでみた
X window managerで遊んでみた
Masahiko Hashimoto
Ember.js導入
Ember.js導入
teamcpaw
pecoを使おう
pecoを使おう
Hideaki Miyake
Tendances
(20)
暗黒美夢王とEmacs
暗黒美夢王とEmacs
Unite vim
Unite vim
うわ…私のEmacs力、低すぎ...?
うわ…私のEmacs力、低すぎ...?
Vim = VM
Vim = VM
すごいVimでhaskellを書こう@なごやまつり
すごいVimでhaskellを書こう@なごやまつり
Vimはこわくない
Vimはこわくない
Vimを学びたい初心者のための5つの豆知識
Vimを学びたい初心者のための5つの豆知識
Vim の開発環境
Vim の開発環境
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
Introduction to Vim plugins developed by non-Japanese Vimmer (Japanese version)
エディタ戦争
エディタ戦争
anyframeを使おう
anyframeを使おう
anyframeを使おう
anyframeを使おう
VimとRubyのアツい関係
VimとRubyのアツい関係
Tdd vim
Tdd vim
究極のディストリビューションUbuntu
究極のディストリビューションUbuntu
Vimの魔術
Vimの魔術
「とても小さいVim」vim tiny
「とても小さいVim」vim tiny
X window managerで遊んでみた
X window managerで遊んでみた
Ember.js導入
Ember.js導入
pecoを使おう
pecoを使おう
Similaire à かなりすごい発表(かなり) at VimConf2014
【Zabbix jp】明日から職場で使えるざびたん
【Zabbix jp】明日から職場で使えるざびたん
Seiichiro Ishida
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
Takafumi Inamori
Arduino を PHP で制御する
Arduino を PHP で制御する
Kenichi Ahagon
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
晃 遠山
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
t9md
FabricとRailsと私
FabricとRailsと私
Chikara Miyake
Similaire à かなりすごい発表(かなり) at VimConf2014
(6)
【Zabbix jp】明日から職場で使えるざびたん
【Zabbix jp】明日から職場で使えるざびたん
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
SIG-Audio準備会#2 オーディオツールの作り方 超入門編
Arduino を PHP で制御する
Arduino を PHP で制御する
最強のPHP統合開発環境 PHPStorm
最強のPHP統合開発環境 PHPStorm
DevEnv Tryit.vim Phrase.vim
DevEnv Tryit.vim Phrase.vim
FabricとRailsと私
FabricとRailsと私
かなりすごい発表(かなり) at VimConf2014
1.
かなりすごい発表(かなり) supermomonga
2.
自己紹介
3.
supermomonga
4.
supermomonga http://blog.supermomonga.com twitter.com/supermomonga
github.com/supermomonga
5.
supermomonga フリーランスでRailsとかやってる
6.
作ったプラグインの紹介
7.
作ったプラグイン (1/2) 音や通知に関するものが多め
- Shaberu.vim … - jazzradio.vim … - skyfm.vim … - mplayer.vim … - ThingsPast.vim … Vimがしゃべるやつ(音声合成) Vimでジャズが聴ける(ネットラジオ) Skyrimではないやつ(Skyrimではない) mplayerを操作するライブラリ(未公開) 通知センター(Mac OS X inspired)
8.
作ったプラグイン (2/2) VimShellの拡張プラグインもある
- vimshell-inline-history - vimshell-kawaii - vimshell-wakeup - vimshell-pure … … … … VimShellが便利になるやつ VimShellがかわいくなるやつ VimShellが便利になるやつ VimShellが便利になるやつ
9.
おわり(おわり)
10.
今日のテーマ
11.
Vimは音でもっと便利になる Sound makes
vim more benrily (Vimが便利である様子)
12.
どういうことか
13.
「通知」に関する例
14.
我々がプログラミングをしている時 身体のI/Oはどうなっているでしょうか
15.
インプット アウトプット =
ディスプレイ => 両目 = 両手 => キーボード
16.
両手と両目をフル稼働させている
17.
これは両手と両目をフル稼働させている人です
18.
このとき
19.
もっと多くの情報を Vimから得たいとしたら?
20.
例えば「通知」
21.
For example -
TweetVim … リプライやDMなどの受信を通知 - J6uil.vim … チャットルームでの新規発言を通知 - Watchdogs … RSpecを実行して、エラーがあれば通知 - VimShell … git clone などの時間がかかるコマンドの終了を通知
22.
そこで
23.
「通知」を一元管理するプラグイン 「ThingsPast.vim」をつくった
24.
ThingsPast とは
25.
Mac OS Xの「通知センター」を
Vim内で再現するプラグイン
26.
Mac OS X
通知センター
27.
Mac OS X
通知センター
28.
Mac OS X
通知センター
29.
ThingsPast.vim
30.
ThingsPast.vim
31.
やっていること 各プラグインのhookを利用して ThingsPastに通知を流し込んでいる
32.
やっていること この時、通知オブジェクトにcallback関数を 持たせることができるので、通知選択時に
任意の処理を実行可能
33.
たとえば 「J6uilからの”新規発言受信”の通知」を ThingsPast上で選択(<CR>)すると
J6uil.vimを起動
34.
これによって 通知の一元管理が実現
35.
Vimで動くアプリケーションを開発する際 通知関連の実装をThingsPastに丸投げできる (プラグイン側はhookを用意しておくだけ)
36.
ユーザーは統一したインターフェイスで 通知を閲覧し、通知元へ移動することができる
37.
便利(かなり)
38.
…
39.
ここで問題が発生
40.
我々はVimを使っている時 両目をフル稼働させている
41.
42.
43.
44.
集中している時に いきなり画面を分割される!!
45.
とてもよくない(とても)
46.
もっと「静かに」通知させたい
47.
もっと「静かに」通知させる方法…
48.
通知センターの「バルーン通知」を、 バッファにオーバーレイさせて実現する?
49.
そうじゃない
50.
そもそも
51.
集中して視覚を活用してコード書いてる時に 視覚のリソースを少しでも奪うのがダメ
52.
そんなのは「静か」じゃない
53.
そんなのは「静か」じゃない
54.
そこで音です
55.
脳に情報を入力できる器官は目だけじゃない
56.
視覚のリソースが足りないなら 聴覚のリソースを使えばいい
57.
聴覚へ通知
58.
=音で通知
59.
=音声合成で通知
60.
=Shaberu.vim
61.
Shaberu.vim Vimプラグイン処女作 音声合成エンジンのラッパーライブラリ
62.
1. Shaberu.vimで音声通知 2.
詳しく見たくなったらThingsPastペインを表示
63.
これで視覚をいきなり遮られることがない!
64.
(デモ) https://vimeo.com/111277527
65.
かなり便利(かなり)
66.
まとめます
67.
今日、通知の話を用いて 伝えたかったこと
68.
聴覚というリソースをもっと活用しよう
69.
おまけ
70.
その他の Shaberu.vim活用例
71.
autocmd
72.
様々なautocmdと連動させることで Vimがすごいべんりになる
73.
起動/終了時に進捗を促してくれる au MyAutoCmd
VimEnter * ShaberuSay '進捗どうですか' au MyAutoCmd VimLeave * ShaberuSay '進捗どうですか'
74.
vimshell-wakeup.vim
75.
VimShellで「時間がかかるコマンド」の実行が終了 したとき、音声で通知してくれるプラグイン
76.
VimShellで「時間がかかるコマンド」の実行が終了 したとき、音声で通知してくれるプラグイン ・設定した秒数以上の時間がかかったコマンドが終了した時に発動
(herokuへのデプロイとか) ・コマンド終了時、VimShellバッファを開いていた場合は自明なので発動しない ・ただし、VimShellバッファを開いていても、Vim以外のアプリケーションがア クティブになっていた場合は発動
77.
VimShellで「時間がかかるコマンド」の実行が終了 したとき、音声で通知してくれるプラグイン VimShellの仕様上、通知されない場合がある(改善したい)
78.
VimShell hooks
79.
VimShellでは様々なタイミングに hook関数を呼ぶことができる
80.
エラー発生時に音声で教えてくれる au MyAutoCmd
FileType vimshell call vimshell#hook#add( 'emptycmd', 'my_vimshell_emptycmd', reti#lambda(":call shaberu#say('コマンドを入力してください') | return a:1")) au MyAutoCmd FileType vimshell call vimshell#hook#add( 'notfound', 'my_vimshell_notfound', reti#lambda(":call shaberu#say('コマンドが見つかりません') | return a:1"))
81.
移動(cd)したときに 「よっこいしょ」と喋る au
MyAutoCmd FileType vimshell call vimshell#hook#add( ’chpwd’ , ’my_vimshell_chpwd' , reti#lambda(“:ShaberuSay 'よっこいしょ'"))
82.
VimShell aliases
83.
VimShellではコマンドエイリアスを 定義することができる
84.
time?コマンドで 時間を教えてくれる call
vimshell#set_alias( ’time?’, ’:call shaberu#say(strftime("はいっ。今は%H時%M分です"))')
85.
lsを打ち間違えた(sl)ときに 「きしゃぽっぽ」と喋る call
vimshell#set_alias( ’sl’, ’:call shaberu#say("きしゃぽっぽ。きしゃぽっぽ。ぽぽ")')
86.
…
87.
とてもべんり(とても)
88.
まとめ
89.
Vimがしゃべると便利 Vimがしゃべるとかわいい(重要)
90.
Shaberu.vimは 任意の音声合成エンジンを使用可能
91.
OpenJTalkを使うとかなりかわいい(かなり)
92.
もう一度言います
93.
聴覚というリソースをもっと活用しよう
94.
ありがとうございました イラスト: いらすとや
(irasutoya.com) 音声: OpenJTalk (mei voice)
Télécharger maintenant