haya14busa

haya14busa’s memo

VimConf2014 で検索とその拡張について発表した

VimConf2014 にいってきました

2014/11/08(Sat)に開催された VimConf 2014 に参戦して「/-improved」という発表をしてきました

TL;DR

初めてVimConfで約80人の前でLTをしたり, 他の方のおもしろい発表を聞いたり, 懇親会などなどで Vimmer のみなさんとお話出来て感極まりました.

発表した

/-improved


Vimデフォルトの検索をもっと使いこなそう! という内容と, 最近開発している検索拡張プラグイン, haya14busa/incsearch.vim についての発表を行いました.

VimConf, 一応国際的なものを目指すという声があるような話をしていたと思うので拙いですが基本全編英語で書いてみました. (gifアニメーションがあるので英語壊れててもある程度わかると信じている.) また incsearch.vim の README にも リンク を貼ってみました (そのうちwikiとかに移動させるかもですが)

incsearch.vimについてはスライドを…と思いましたが, 英語がたぶんダメダメで(特に最初の2-3コの発表を聞いてからエクストリーム加筆修正した最後の部分), LT10分間に合わなくて最後駆け足で喋ったので少し. 詳しくはスライド or いづれ書かれるであろう(?) incsearch.vim の解説記事を参照していただきたいです.

Design

incsearch.vim の目指すデザインとしては基本的にシンプルな検索の拡張を提供し, Vim デフォルトの / を置き換えても違和感なく移行できるというところを1つの重要なポイントとしています. この @todesking さんのツイートはVimConfのコンテキストでつぶやかれたツイートではないのですがまさに「空気のように」に使えるよう目指していてスライドでも似たようなことをすこし話していました (あとこのツイートが本当に嬉しくてどこかに書いておきたかった. ありがとうございます)

後半話してたこと

この incsearch.vim というプラグインは決して自分だけの力で開発したわけでなく, いろんな人に協力があって作ることができました(という部分がエクストリーム加筆部分なので相当に雑なスライドになっている).

もとはosyo-manga/vim-overに使われていたカスタムコマンドラインを osyo-manga/vital-over というライブラリとしてをおしょーさんに要望投げまくって作ってもらったり, ドットリピートの対応法とかは Vimプラグイン読書会 などで教えてもらったり, 正規表現をderisさんに教えて頂いたり, 使っていただいた方に不具合を報告してもらったりアイデアをもらったり, 開発時にぶつかったVim本体のバグをvim-jp/issuesに報告して修正してもらったりと, たくさんの人に協力していただいてこそincsearch.vimはここまでできたと思ってます. みなさん本当に感謝しています. ありがとうございます!

kaoriyaさんの話にあった(kaoriyaさんのスライド参照) Vim のよさ, 「らしさ」の1つには確かに「Vim のユーザー」があると僕も思って, incsearch.vim はそのよさがなければ絶対に作れなかったプラグインの1つとして Vim のよさ としても話したいなーと思い, もともと開発のバックグラウンドの部分は入れてなかったのですが急遽スライドを追加して話させていただきました.

Vim のよさがより伝わるといいなーと思いましたが, そのせいで完全にLTの10分制限を越えてしまったので同時に反省もしています…

正直緊張しすぎで全然聴衆の方がどういうふうに聞いてくれてるか反応を見れてなかったのですが, twitter とかを見る限り便利さは伝わったようなので嬉しかったです. みなさん興味が出たらぜひ使ってみてください…!

それぞれの発表, あと感想とか

Identity of the Vim @kaoriya さん)

「Vimのらしさ」について. テキストオブジェクトが便利とかも勿論Vimの強みで「らしさ」の1つ. でも, それだけではなく Vimを使うならIDEとは違い複数の言語をやって視野を広げることができることも1つのメリット. これは逆に言えば多種多様なバックグラウンドを持つ人がVimを触っているということで, vim-jpLingrのvim部屋, twitterで他の Vimmer の方々達と交流すると Vim を通していろいろな考え方に触れることができ, Vim の強みの一つに「vim-jp = ユーザー」 というのは本当にそうだなと感じました.

またVimをやる意義として, 得たものを還元してvim本体をよくしたり, 思いがけず他の人にとっても便利にできたり, マッチポンプ式に Vim を便利にできるという点もとても共感しました. この辺の話や後のujihisaさんの発表を聞いていると変にテンションがあがってしまい, エクストリーム資料追加を実行しました. (そしてLTが時間内に間に合わなくなりました.)

PM2 (@ujm さん)

Process Manager 2 の話. 個人的には以前 cmigemo のプロセスを Process Manager で使いまわそうと現在のPMは使ってみたことがあるのですがうまくいかず断念していた(自分の使い方の問題っぽかった)という経緯あります. ですがPM2はかなり使いやすそうになっていそうだったので再挑戦したいと思いました.

後半全くVimと関係ない話(!?)だったり随所に挟まれる笑いどころがあって一番笑った発表でした. PM2だけでなく命名やタイムアウトの大事さも学べて「べんり」

f (@Linda_pp さん)

f の解説と f 拡張プラグインの解説でした. Lokaltog/vim-easymotion の便利機能も解説していただいてありがたみがありました. clever-f はfで繰り返して移動できるというそれ自体の機能の便利さも勿論メリットなのですが, ;, キーという押しやすい2つものマッピングをフリーにして他のマッピングにできるという部分がとても嬉しい機能です. Lindan さんの場合は ,<Leader> に, ;<Plug>(easymotion-s2)にしており, このあたりをどのマップに置き換えるかは人それぞれの好みだとは思うのですが, かなり便利そうだと感じました.

スライドのfの説明の図がわかりやすかったり, 最後にはオチも付いているのでぜひスライドを見てみてください

Hey, Java! Vim is coming. (@kamichidu さん)

Javaを書く機会がないですが, もしJavaを書くことになったら間違いなくVimで書きたい側の人間なので参考にしたい. Lingrなどでkamichiduさんの活動をみてると, 他の人ではすぐにはできないようなことを平然とサクッとこなしている印象がいつもあるのでぜひ見習っていきたい…!

auto closing parenthesis (@c0hama さん)

dot repeatable になっている cohama/lexima.vim の仕組みとか, あまり自動括弧入力系は使ったことがないのですが試してみたいという思いもあったので個人的に気になる発表の1つでした.

あとで懇親会やその後のカラオケなどなどで聞いた話によると,コマンドラインのマッピングなど想像以上にいろいろな機能を leximaでカスタマイズすることができるらしく汎用性の高さを感じたました. リピータブルな自動括弧入力ってだけでは全く無いようです. すごい.

怖くないマクロ入門 (@deris0126 さん)

:h q のマクロ入門についての発表. 決してマクロ漁船のようなコワイ話ではなく初心者から使える解説でよかったと思います. Vimを使っていて, そこに繰り返し操作があればマクロを使うチャンスなので使っていけるようになるとVimがもっと好きになること間違いなしです. 時間があれば実演とか, 途中でマクロ間違えた時や, マクロが少し間違っててた場合にちょっとだけ操作足したい/修正したいといった時にどうすればいいかといった対処法もあるとより便利さがあると思いました.

Test for Vim script (@thinca さん)

最近 thinca/vim-themis をベンリに使わせて頂いているんですが, 改めて発表を聞いてもベンリすぎる…という印象でした. themis便利なんですが自分が使いこなせてないのでテストもっとかけるようになって使いこなしたいという思いがあります.

Let’s talk about neovim ((@ShougoMatsu さん)

暗黒美夢王の NeoVim についての発表. 全編英語で書かれておりNeoVim newsletterにも載るらしくVimConfの国際感がでてよさそう. 内容についてもさすがShougoさんと言うべきかエディタの未来とかOSSのforkの話とかも含めてとても考えられているなぁと感じました.

NeoVim のissueを動向を追うの, かなり大変なので殆ど追えてないのですが面白いことをやっているハズなのでもっと追っていきたい…

かなりすごい発表(かなり) (@supermomonga さん)

かなりすごくておもしろい発表でした(かなり). supermomonga/thingspast.vim は統一的に使うようになるととても便利(とても)になりそうなので使ってみたい. Vim, しゃべれるらしいのでVimと会話したい(とても)

XVim with MacVim and smartgrep (@pebble8888 さん)

とても申し訳ないんですがXcodeつかったことがなく, 自分の発表の直前だったので緊張していたこともあってあまりまともに話を聴けてなかった…悔やまれる… 単なる紹介とかでなくforkして改善したとかいう話をしていた気もするのでお話聞いてみればよかった. コメントを飛ばしてgrepできる, smartgrep も便利そう.

/-improved (@haya14busa)

自分の発表, 上述した.

vim script初心者に使ってもらいたい、転ばぬ先の杖「Vint」 (@orga_chem さん)

個人的には今後の発展が期待できる & 使いたいプラグイン No.1 でした. スライドはオシャレでみやすいし, lint の仕組みも詳しく解説されていて勉強にもなりました. lint, 奥が深い…!

@orga_chem さんは発表者であると同時に会場の設営やUstream, 録画などの管理も行なって頂いており, 本当にお疲れ様でした. あと Vim の壁紙を使わせて頂いており改めて感謝できてよかった.

Jenkins + vimenv で 最新のVimを使おう! (@raa0121 さん)

vimenv, anyenvに入って欲しい. git の log からパッチ番号取得していつも最近のVimをbuildできる. make test とかも行なって不具合検知ができてよさそうでした.

懇親会, あとまとめとか

去年の VimConf 2013 では発表なんてもってのほかで, Twitter や Lingr でみていた Vimmer のみなさんとお話すること自体殆ど出来なくて, 楽しかったけど悔いは残るものになってしまっていました. しかし今年の VimConf 2014 では発表もできて, 皆さんとリアルで対面してお話することができてとても楽しかったです. 感極まりました.

来年も是非参加したいし, もっと運営のお手伝いとかもできたらなーと思いますj

当日これなかったり, Ustream の配信も見ていなかった方は Togetter に 当日のTwitterの様子をまとめた(VimConf2014まとめ - Togetterまとめ)ので, 発表者のスライドや他の方の感想記事, これから公式ページにリンクが貼られるであろう録画とかを見て, 興味がでたら是非是非来年のVimConfは参加してみると楽しいと思います!

それでは Happy Vim’ing ! ♥

Comments