読者です 読者をやめる 読者になる 読者になる

mixi engineer blog

ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

VimConf 2014 と Vim と mixi

vim seminar mixi

こんにちは。エンジニア兼 Vimmer、Kuniwak です。11月08日(土)、Vim の国際的な会議「VimConf 2014」が弊社でおこなわれました。

VimConf では、Vim の機能の詳細な解説や、自作プラグインの紹介、Vim の未来など、多くの Vim に関するディープな知識が発表されています。また、登壇者陣も非常に豪華で、Vim のコントリビュータから、Github で 1,500 もの☆がつく有名プラグインの作者など、Vim をとりまくさまざまな開発者が登壇しています。

発表タイトル一覧は、Timetable - VimConf 2014 をご覧ください。

なお、ミクシィも Vim に支えられている一企業として、Vim との関係についてお話ししました。

それぞれの発表の様子

動画

#VimConf2014 - YouTube

会場の反応


VimConf2014まとめ - Togetterまとめ

会場の一体感

f:id:mixi_engineers:20141111210524j:plain

(写真提供: ujihisaさん)

Vim と mixi

最近は高機能な統合開発環境がもてはやされていますが、Vim や Emacs などのテキストエディタがその地位を失ったわけではありません。たとえば、SNS mixi のソースコードの大部分は Vim や Emacs によって書かれていて、いまなお、ミクシィのほとんどのエンジニアが Vim や Emacs を使って mixi のコードを実装しています。

つまり、mixi は Vim や Emacs によって支えられているのです。

そのため、Vim を如何に使いこなすかが仕事の生産性・開発の心地よさを左右します
なお、社内には mixi のコードを Vim で快適に書くために設立された orgnaization が社内 Github 上に存在します(ちなみに、何故か Emacs の orgnaization は今のところありません)。

 

f:id:mixi_engineers:20141111210817p:plain


この orgnaization は mixi 専用の Vim プラグイン・ツールが管理されています。
VimConf の発表では、数ある mixi 専用のツールの中でも異彩を放つツール「realvimtutor」を紹介しました。

realvimtutor を紹介する前に、Vimmer の皆様が一度はお世話になる Vim のチュートリアルツール「vimtutor」について触れなければなりません。vimtutor は、Vim のカーソル移動や編集操作を実際に体験しながら学習できるツールです。

もしあなたが Mac をお使いであれば、ターミナルを開き vimtutor とタイプして実行すれば、 vimtutor をはじめることができます。

 

f:id:mixi_engineers:20141111210537g:plain

 

多くの Vimmer たちが、この vimtutor を使って Vim の操作方法を学んできたことでしょう。

しかし、vimtutor が教えてくれるのは基本的な操作方法までです。その先については、道しるべとなってくれるものがありません。怖い Vimmer の方々であれば、「ググれ」ならぬ、「:help」「Lingr*1」とおっしゃるところかもしれません… しかし、検索するキーワードでさえ見当がつかないという場合も往々にしてあるものです。

そこで、realvimtutor の出番です。
どうしても手に負えない Vim の困ったことがあったとき、ターミナルを開き次のようにタイプすればよいのです。 

 

f:id:mixi_engineers:20141111210546g:plain

 

こちらが realvimtutor 実行後の社内チャットツール Slack の様子になります*2

 

f:id:mixi_engineers:20141111212103p:plain

 

最高ですね!

会場の貸出について

株式会社ミクシィでは、勉強会やカンファレンスの為に会議室等をご利用いただくことができます。貸出にあたって注意事項がございますので、ご興味がある主催者の方はお気軽に@mixi_engineersやdev-seminarあっとまーくmixi.co.jpまでご相談下さい。

*1:Vimmer の集うチャットサービス http://lingr.com/room/vim

*2:ユーザー名は環境変数から補完されます