VimConf2019に参加した

( ´_ゝ`)ノシ
yoshitiaです。
相変わらずの更新頻度ですが私は元気です。
今年もVimconfに参加してきました。
細かい感想については他の方が書いてくれるはずなので
私はいくつかの発表で出ていたキーワードについて述べようと思います。
所々単語に余分なーがついてるのは
このテキスト書く時に使ってる校正プラグイン
つけろと怒ってくるからorz
visual studio codeVimプラグイン使ったもので書いてる)

vim-lsp


これはVimでlsp(language server protocol)を扱うプラグインです。
lspは各種テキストエディターで
プログラミングを支援する機能を提供する際、
テキストエディター毎にその機能を一から作るのではなく
プログラミング言語別に支援機能を提供するサーバソフトを用意して
テキストエディター側では
そのサーバとやり取りする機能だけ用意するようにしたら
テキストエディター毎に分散されている支援機能開発の人的資源のロスを
減らせるよね、というシロモノです。
偶然この記事を見たけどVimは使ってないという人でも
使ってるテキストエディターに
lsp対応プラグインがあれば是非利用することをオススメします。

 

design-not


これはVimの開発方針のテキストです。
2017年頃までは、Vimはその中でシェルを起動したり
デバッガーを使うものではないと記述されていました。
しかし、2017年のある時いきなりVim本体に:terminalが
実装されtermdebug.vimまで登場しました。
Vimconf2019ではこのdesign-notのテキストが
3人の発表者により紹介されました。
それだけVimの開発の流れの方向転換を象徴するものとして
注目されたということだと思います。

 

vanilla vim


英語でplain vanillaまたはvanillaと記述される場合、
香料のバニラという意味でなければ
基本的な、余分な装飾のないという意味合いのようです。
Vimだとインストールしただけかそれに近い状態のVimのことです。
この言葉が出てくるくらいには
Vimプラグインをインストールするのが当たり前になったということですね。

余談ですが
新たにVimを始める人に良く伝えることは
Vimの基本操作に慣れるまで
プラグインはインストールしない方がいい」です。
Vimのテキストを編集する機能やコマンドは
デフォルトでもかなり完成度が高く作り込まれています。
それを知らないままプラグインを追加して
キーバインドをデフォルトから変更したり、
新しいコマンドを追加すると
変更前のキーバインドの機能が便利なのに
プラグインのもので上書きしたから使えない、
実はデフォルトで使えるコマンドがあれば
プラグインで追加したコマンドは不要だった、
というような面倒事が起きます。
(最近のVimプラグイン
キーバインドのトラブルを避けるため
ユーザーが設定しない限り
キーバインド変更をしない作りになってきています。)

 

その他
Vimに限らないテキストエディター開発界隈の傾向


当日に暗黒美無王さん(@ShougoMatsu)とtwitterで少しやりとりしました。
sublimetext、atomvisual studio code
高機能なテキストエディターが近年登場してる現状を
テキストエディターをIDE化しようとしている」と捉えていました。
が、どうも違うらしく
テキストエディターにIDEの機能は有用だから
必要なものは取り込もう」という方向性のようです。
テキストエディターという名前ではありますが
テキストの編集だけが守備範囲ではなくなってきてる、
そういうことです。
背景にはソフトウェア開発を始める時、
ディレクトリやフォルダーの階層構造を決めて
ソースコードやテストコードを書く際、
階層を行き来するのが当たり前になったことがあるようです。
こうなるとIDEにあるようなプロジェクトエクスプローラーや
変数や関数の定義元に
キーボードショートカット1つでジャンプできる機能が欲しくなります。

 

あとがき


今年のVimconfも豪華でした。
懇親会では
普段SIer勤めで
自分以外のVimmerに出会うことがまれな方や
大学生で
機械学習やっててEmacsを強制されたけどVimを選んだ人と
まず日常では接点なさそうな人と遭遇してました。