2018/11/27

Recent entries from same category

  1. Software Design 2018年7月号「Vim 絶対主義」の執筆に参加しました。
  2. Vim の :terminal の中から外の Vim を操る方法
  3. Vim と日本語入力の話。
  4. Windows で子プロセスの標準入出力バッファリングを無効にする
  5. Vim で端末機能が動くようになった。

僕のこれまで人生の中で、2日間まるまる Vim の事を考えるなんて事なんて無かったし、今思い返してもとても刺激的な日でした。

まず始めに、VimConf というイベントを産み出してくれた ujihisa さん、kaoriya さん、運営に関わった皆さん、そしてスポンサー頂いた企業の皆様、個人スポンサーをして頂いた皆さん、本当にありがとうございました。

中には参加できないにも関わらず VimConf が上手く行く事を願って個人スポンサーになってくれた方も沢山いました。本当にありがとうございます。

今回 Vim の作者 Bram Moolenaar 氏を VimConf 2018 に呼べたのは皆さんのお力あってこそだと思っています。

これまで VimConf はどちらかというと、こじんまりしたイメージのイベントでしたが、「Bram Moolenaar 氏を呼ぶに相応しい国際会議として開催すべきだ」と決断し、一般社団法人となり、VimConf 2017 を開催しました。それでも海外からの意見では「日本人のイベントだ」と言われた事もありました。幾つか若干悔しい思いをしつつも、今年の初めから Bram Moolenaar 氏にアポイントをし始め、僕らはとうとう Bram Moolenaar 氏を VimConf に呼び寄せる事が出来ました。

Vim を知らない人にはこの凄さが伝わらないかもしれません。また Vim を知っていたとしてもこの高揚感は伝わらないかもしれません。これが普通の話なのは理解しています。ただ僕個人がずっと感じていた悔しさもあり、この嬉しさは人一倍大きな物だったからなのです。

今から10年前、僕は Bram Moolenaar 氏に会う事が出来るチャンスがありました。そしてチャンスを貰いながらもそれを自ら逃してしまいました。10年前のある日、僕と kaoriya さんは Bram Moolenaar 氏からメールを貰いました。「秋に来日して観光する予定だ。東京と京都に行くので都合が合えば会えないか」という内容でした。Bram Moolenaar 氏から直接言ってきてくれたのです。しかし不運な事にその日にどうしても外せない仕事があり、そして会う事が出来なかったのです。たまにこの事を思い出すとずっと残念な気持ちになっていました。無理してでも行ったら良かったかなと毎回考えました。

それから10年後、僕は VimConf 2017 から補助スタッフとして参加し始めました。関西なのでリアルタイムにお手伝い出来ないですがウェブサイトの更新などリモートで出来る細かなお手伝いをしました。今回 VimConf 2018 に Bram Moolenaar 氏を呼ぼうという話が決まった際は、これまでの悔しさがスッと消える思いがしたのと同時に、暫くは信じる事が出来なかったのを覚えています。僕に限らず運営スタッフも暫くは本当に確定なのか?と何度も確認していたのを覚えています。

僕が Vim にコントリビュートし始めたのは 2000 年の1月。今から18年も前の事です。あの頃からずっとメールでやりとりしていた Bram Moolenaar 氏が、VimConf 2018 の当日に目の前に現れて握手をした時には言葉が出ずにただただオロオロとしてしまいました。「I'm grad to see you」としか言えませんでしたが、Bram Moolenaar 氏も同じ言葉で返してくれました。

今回の VimConf 2018 ではキーノートスピーチを任せられました。kaoriya さんからは「Bram Moolenaar 氏に vim-jp がどういう活動をしているか伝えるチャンスでは」とアドバイスを貰いました。Bram Moolenaar 氏の前でどんな話をしようか悩みましたが、敢えて Bram Moolenaar 氏の前で機能提案をするという暴挙に出る事にしました。

内容は、vim-jp の活動報告と見せかけて DRCS Sixel のサポート、ソケットの listen、BLOB (バイト列)型の追加を提案するという物です。

正直、自分が何を喋ったのか良く覚えていませんが、昼休憩の時に Bram Moolenaar 氏に呼び止められこう言われました。

Vim にパッチ送り続けていて良かった!と思いました。一人だけこんな思いしてどうだ羨ましいだろ申し訳ないなとも思いました。

Bram Moolenaar 氏の発表もとても面白い物で、Vim プラグイン作者が欲しいと思っていた機能の幾つかを Bram Moolenaar 氏から提案する物でした。

From hjkl To a platform for plugins

その他のスピーカーの皆さんの発表もとても興味深い物でした。僕が印象に残った物をあげさせて頂くとすると Akin 氏の Onivim の話と rhysd さん(犬さん)の Vim を wasm に移植した話が面白かったです。正直 Onivim の完成度がこれほどまでとは思っていませんでした。また Vim を wasm に移植した話は、Vim のソースを知っているが故、大変さが伝わってきて頷くばかりでした。

朝10時から始まり、一日中 Vim のトークばかりだったのにとても短く感じるほど充実した内容だったと思います。

懇親会の途中、スタッフ特権で Bram Moolenaar 氏と写真を撮りました。思い出に残る一日でした。改めて皆さんにお礼を言いたいです。あと rhysd さんとは gocon で挨拶しかしてなかったので、今回少しだけでも喋れて良かったです。その他、多くの方から挨拶を頂きました。ちなみに声を掛けて頂いたおよそ8割くらいの方が Vim に関しての僕に挨拶に来られ、残り2割くらいの方が Go に関しての僕にに挨拶に来られました。海外の方から「Go のライブラリ使ってる」と言って頂けました。

次の日、VimConf 運営スタッフと日本人 Vim コントリビュータ数名、Bram Moolenaar 氏、Mastering Vim という本を出版した Ruslan Osipov 氏と一緒に Vim ハッカソン「vimthon」を開催しました。

前日、Vim の機能追加投票で上位に来ていながらも Bram Moolenaar 氏に知られていない存在だった LSP (Language Server Protocol) を目の前で見せ、ホワイトボードにどうやって LSP が動いているのかを説明しました。また Bram Moolenaar 氏がスライドの中で言っていた Vim script のコンパイルについても、AST 化が難しいという事を伝えました。帰る時間が決まっていたので少し焦ってしまった所はありましたが。

ちなみに、Bram Moolenaar 氏には前日に「vimthon は何時に来てもいいよ」と伝えてあったのですが、当日なかなか現れない Bram Moolenaar 氏に我々スタッフも少し心配していたのですが、ふと見た GitHub で30分前にコミットが push されているのを見た時は皆で笑いました。ちなみにこの20分後くらいに Bram Moolenaar 氏も現れました。

まるまる2日間 Vim だらけでした。とても濃かったですし、とても楽しかったです。ずっと悔しかった思い出もこれで忘れる事が出来る気がしています。時間の都合で最後まで参加出来ませんでしたが、最後に Bram Moolenaar 氏がこう言われたそうです。

I am amazed to experience the professional level of this conference about one piece of open source software that I happened to start 27 years ago. Thanks to all the organisers and speakers for this exciting conference!

27年前に私が始めたオープンソースソフトウェアの1つに関して、こんなにも専門レベルなカンファレンスを経験することが出来て非常に驚いています。 このエキサイティングな会議の主催者とスピーカーに感謝します。

— Bram Moolenaar, 2018-11-25

この言葉を直接聞けなかったけれど、きっとこの言葉を聞いた運営スタッフは嬉しかっただろうなと帰りの新幹線で一人感動していました。おめでとう運営スタッフ。


blog comments powered by Disqus