vimconf2016に参加した話

( ´_ゝ`)ノシ
yoshitiaです。
今年は開始時刻に間に合いました。
2年連続で開始時刻後に受付してたもので・・・

会場は 株式会社ミクシィ 様です。
mixi.co.jp

yoshitiaは vimconf2014 からの参加ですが
3年連続同じ会場となりました。
mixiさんマジ男前です。

発表のスライドと動画が公式ページにアップされるらしいので
正確な内容はそちらにおまかせして
ざっくりとした感想を。

感想

Vim7 から Vim8 へ

今回の発表で取り上げられていたポイントで大きなものは
メジャーバージョンアップで Vim7 → Vim8 になった話でした。

エンドユーザー側には直接影響のある機能追加というのはありませんが
Vim script プラグインを作成する上での追加はたくさんあります。
ざっくり言うと Vim8.0 以前より便利なプラグイン
作れるようになったということです。
.vimrc の見直しついでに新しいプラグインの探し時かもしれません。

Vim との連携で採用されるプログラミング言語

Vim と言えばコマンドラインとの連携ですが、
ここ数年の発表やそれ以外のweb記事などを見ていると
連係するプロダクトのプログラミング言語として
pythongolang が選択されていく傾向にあるようです。
特に今回は golang が絡む発表が多く、
参加者の中から ここは Vim のカンファレンス会場だよね?と言う声が
実際出ていた程です。

今後、 pythongolangVim を便利に使う上で欠かせないものと
してますます不動の地位を築くのではないか、と感じさせる Vimconf でした。

python

python は C で作るほどでもないコマンドや、
既存の *NIX コマンドに使い勝手の良い機能をちょっと足す目的、
または新しくコマンドを作る前の試作に使われるなど
Linuxに標準で入っていないと困るレベルで使われています。

golang

golang は フォーマッタ や linter 等、言語レベルで開発を助けるライブラリが
かなり充実しているため開発者からすごく評判の良い言語です。
私見ですが、個人別で宗教論争になりやすいコードの細かい文法を
できるだけ取り除こうという方針で設計されている言語のようです。

golang はコードをコンパイルして
実行ファイルを作成・使用するのが主な利用方法ですが
言語レベルで複数の OS 向けに対応した実行ファイルを作成できる
ロスコンパイルをサポートしています。

C だと複数の OS に対応する場合、OS に応じたコードを
追加する必要があります。
Vimは対応している OS が多いためそれに対応するコードも沢山あります。

完全に各 OS 対応のコードが不要かどうかまではyoshitiaの勉強不足で
わからないですが、同じものをCで書くよりはかなり楽になるようです。

Vim 以外のテキストエディタ

今回の発表者の口からでてきたテキストエディタ
yoshitiaが気になっているものは
Visual Studio Code と Atom になります。
2つのテキストエディタの共通点としては
html・cssJavascript等で作られているElectronベースであることです。

Visual Studio Code

Microsoft が提供している製品になります。
2014年以降、Windows OS の枠を超えた製品を積極的に出すようになってからの
今時のテキストエディタです。

Microsoft が提供しているだけあってMS系の言語サポート、Visual Studioのような
インテリセンス(入力補完)も可能です。
更に今時の有名どころのプログラミング言語に関するサポート機能があるようです。
(詳細は Visual Studio Code の公式ページにあります。)

yoshitiaとしては「 Microsoft が提供している」点に注目しています。
セキュリティ上の理由で開発や業務の効率化のためのツールの導入を
拒んで非効率な作業環境で従業員に生産性を求めざるを得ない企業に
新しい選択肢を提供できるツールになるんではないかと期待しています。

Atom

github 製のテキストエディタです。
Electron ベースで作成されているのですが、
ファイルのエクスプローラ、ウィンドウ分割、
コマンドパレット、ウィンドウ内での端末起動など
今まで試してきたテキストエディタの中で
扱いやすさは別格だと感じます。
キーバインドは今回の発表者の1人、 @ さんのvim-mode-plus等に
お世話になっています。

yoshitiaは今回の発表者の1人、 @ さんの言う所のスパルタンVimmer
極力デフォルトのキーバインドを崩さずに利用することを選択しています。
なので他のエディタやIDEのviエミュレートプラグインについては
「軽いテキスト編集程度の作業に支障なければそれでよし、
本腰入れたテキスト編集作業はVimでやればいいじゃない。」
と考えています。
その点、 @t9md さんのプラグインは素晴らしいです。
Vimにはない機能をAtomの特性を利用して追加してる貪欲さには震えました。)

後、直接的なポイントではありませんが
html・cssjavascriptで作られている所を注目しています。
開発者の確保がソフトウェア存続の必須要素である以上
利用している人口が多い技術を採用するのはアリではないかと。

以上の観点から Vim との使い分けで有用なテキストエディタだと見ています。

余談: Vimmer に関して

Vim を使う人に出会った事が無い方は意外かもしれませんが
VimmerVim 以外をテキストエディタとして認めないとか
他人に Vim を押し売りで使い方を教えることはありません。

yoshitia自身、emacsサクラエディタ も使います。
最近 秀丸エディタ も使ったりするようになりました。

Vim の機能やプラグイン自体、他のエディタやIDEを参考にしたものが
あるのも VimmerVim に限らず良いエディタを探し求めているだけなのです。

Vim の使い方を
メモ帳レベルの起動・入力・保存・終了
以上に教えようとする場合、
自分から Vim の help を調べたり、
とにかく実際に操作して確かめる、
それを自主的にやる人でないとどんなに優秀な Vimmer でも教えるのは困難です。
もし強引にでも教えられる方法があるならすごく聞いてみたいです。
(他のものでも同じだと思いますが)

その他

最後のLT発表者、 @ さんの発表内で
Vimプラグインで他のプラグインや組み込み機能に重複しやすい
コマンド名や関数名・変数の名付け方について
名前空間を汚すな!それはお前だけの物じゃない!」
は当日の会場に居る全員の心に響いたのではないかと
yoshitiaは思っています。

懇親会

大体 @ さんと
フロントエンドでhtml・cssメイン、補助にJavascriptを書いてるという方に
サーバがどうのと話をしていた。
あいかわらず @ さんすごすぎる。
yoshitia自身は人に話できるような実務経験があまりないので
内心「人に偉そうに話できる身分ではないんだけど」と
思いながら話をしましたが、なんらかの収穫がその方にあればいいなぁ。
(その人のtwitterアカウント聞いておけば良かったか・・・)

首都圏で開催されているJavascriptのイベントは人気過ぎて
なかなか参加定員の枠に入れない、と話されていたのは印象に残っています。

@ さんがかなり酒に酔っていたせいか
VR彼女をプレイしたいと思わないのおかしいでしょ!?と、
曇りの一点も無い本気で発言してたのすごかった。

@ さんが懇親会中で全力で Vim をdisったらしいと聞いた。
Vim の良い点・悪い点を熟知した上でのそれは
簡単には聞けない話なのですごく聞きたかった。

Vimconf X次会

レアモンスターの @ さんが Vimconf に来たので
総勢11名でカラオケボックスに。
そしておもむろにノートPCをセッティングし、
vimrc読書会 や各自のプラグイン開発、
rubyの指導をする勢、普通にカラオケする勢と混沌とする室内。
@ さん、 vimrc読書会 しながらカラオケを敢行、
それをスマホで撮影されてた。
yoshitiaは
時代とかジャンルに一貫性が無さすぎる選曲をしてたので
迷惑掛けたかもしれない。
正直すまんかった。

最後に

毎年思ってはいることですが、
ドキュメントの翻訳・Vim本体のパッチ・Vimプラグイン
いずれかで Vimコミュニティに貢献できるレベルに到達したいなぁ。

この記事を読んで頂いた Vimconf2016 の参加者の皆様へ。
今回の参加記事をまだwebにupしてないなら
「Vimconf2016に参加した。楽しかった。」だけでもいいので
記事作成をしていただけると嬉しいです。
(詳細な感想は暇な時に更新したらいいんです。)

参加者の多くが参加記事を書いていただくことで
Vimconf 2017にスポンサーが付くかもしれません。
スポンサーが付く、と言う事には本音を言うと
どうでも良いのですが
それにより、
Vim の開発者でありメンテナの Bram 氏や
国内外の著名な技術者を招待可能な体制が出来る、
これにはすごく魅力を感じます。

たった1行でOSSのコミュニティに貢献できるチャンスって中々ないですよ!

では、今後のVimconfの発展を願いつつ記事を〆ます。
Happy Vim Life!