Vim

VimConf 2017に参加した(いつかBramさんが日本に来るのでは?と感じた)

はじめに

タイトルがちょっと釣り的な感じですいません。しかし、ほんとにそのように感じたので書きました。

参加ブログを書くのが遅くなりました(すいません)。タイミングを逃すと普通の事が書きづらくなる。。

ということで自分はちょっと違った切り口で。

ブログというか個人的なポエム?なものや誰かの役に立てればって情報類を書きます。

各トークについては他の方の質の高い沢山の参加ブログがあります。

また、今回のスピーカーでもある @cocopon さんが togetter でまとめてくれていますのでそちらをスルスル見ながら探してみてください。

いきなりまとめ

  1. いつか、もしくは近い未来にVim作者のBramさんがVimConfにくるのではないか。お昼に壇上でご飯を食べているBramさんを参加者全員で眺める日が来るのでは?といった勝手な興奮を感じました。
  2. 昨年(VimConf 2016)も参加しましたが今年はスポンサーもたくさん付いていてスケールが大きくなっていた。
  3. @ujim さんはほんと凄い。同時通訳等含めてとにかく感極まりました。@ujmさんが複数人いたら無敵ですね。
  4. VimConf 2017の興奮が冷めない人は
    • vim-jpのslackにでも登録すれば良いと思う
    • .vimrc読書会に参加すればよい
    • meguro.vimとかosaka.vimとか、fabric.vimとかに参加するとか

以下、各発表を聴いた感想?ポエム的?なものになります。

Vim, Me and Community

スピーカー: @haya14busa さん

お話の主題だったincsearchのパッチについてはリリースされる際に @haya14busa さんのTLの前後をチラチラ見ていたりしました。

今まではトリッキーな印象も受けていて、このまま自分はこれに依存していて良いのか、普通のvimmerではなくなるのではないか?といった疑問、恐怖が出たりしたのでincsearch.vim関連は有効にしたり無効にしたりしていた時期がありました。

そんな中で、先日Vimのパッチとしてincsearchができるようになりました。

これで安心して使うことができます。

個人的にはこのパッチが入ったときに 以前からこの挙動がデフォルトだったのではないか? と感じるくらい凄く自然で不思議な気持ちでした。

おめでとうございます。

その他では、以前Google翻訳が賢くなった際に音速の勢いで開発されてた
vim-open-googletranslate と electron-open-url ( @rhysd さん ※犬さん? )の連携。

こちら、かなり常用しています。

いつも、ありがとうございます。

The Past and Future of Vim-go

スピーカー: @fatih さん

TLでvim-goを使いたいからGoを覚えようって人がちらほらいました。
チュートリアルがありますのでやってみましょう。

vim-goについてわからないことがあれば

  1. :h vim-go をする
  2. Vimでのヘルプ閲覧が得意じゃない?なら GitHub で見てみる
  3. 最悪 @fatih さんになんらかの手段で直接聞くか、
  4. Goを書く際にvim-goに依存しているとお話されている @mattn さんに聞きましょう

TLでVimmerでGopherが多いって話しも流れてました。

現在では GoのEditor plugins and IDEs のページでvim-goが一番最初に説明されてますのでこれからもどんどん増えるでしょうね。

個人的にはVimmerでRubyistも多いような気がしてますが。

その他、 @fatih さんはPCを触るときはメガネをかける方でした。最近自分もメガネキャラなので親近感。

Talk show (Vim 鼎談)

スピーカー: @mattn_jp さん @k_takata さん @kaoriya さん

このお三方に関しては何も言えません。。

なんというか はじめて牛久大仏を真下から見た くらいの圧倒感。
人型の巨大なもの って凄い圧倒感です。見たことない方は牛久へGo!!

とにかく僕にはそのように見えています。
大きすぎて全貌を直視できませんし、目があったら速攻逸らすしかできません。

遠い昔、エディタ選びで悩んでた時期がありましたが今はVimがあるので安心です。

Vimがあるので他のエディタやIDEも気軽に触れますね。戻る場所があるので。

なんというか、 彼女や奥さんがいるほうが浮気しやすい みたいなそんな感じです。
※例えばの話なので。というか例えが良くないですね。すいません。。

Vimを日本人が使いやすい状況を作って頂き、非常に感謝しています。ありがとうございます。

Vim 鼎談 のお話の中で出てきたトピックとして何点か、貼っておきます。

Creating your lovely color scheme

スピーカー: @cocopon さん

自分のカラースキームは molokaisolaizedでlight を使っています。
今回のお話を聞いて自分もカラースキームを作ってみようかなという気持ちになりました。

とりあえずお話の最中にicebergを入れて試させて頂きました。

そのまま帰宅後も使っていましたが季節的なものもあるせいか、ちょっと寒いです。凍えそうでした。
寒くて凍えそうということはコンセプト通りなわけで、恐れ入りました。

暖かくなってきたらまたicebergのcolorschemeを使います。

それと最近目自体の最大HP(ヒットポイント)が減ってる感じもありまして、ブルーライトを60%カットするPC用メガネも持っているのですがそれでicebergを見るとちょっと見づらい感がありました。

vim-mode-plus のお話

スピーカー: @t9md さん

昨年のVimConf 2016の続編のようなお話。

vimtutorや 実践Vim のような形式でのライブセッションは圧巻。

Vimを模倣するものって色々ありますよね。

  1. Vimキーバインドやその他アクションの諸々をVimに近づけもの
  2. 上記を含んで、且つ、Vim自体を飛び越える機能を含んだもの

vim-mode-plusのお話は後者になります。勿論前者も重要です。
VimキーバインドがないからあのIDEは〜とか。あのブラウザは〜とか。

あれは〜とかこれは〜とか色々ありますよね。

自分はVim以外ではJetBrains製のIDEを使う場合があります。

IdeaVim(Vim6ベース?だったかな)というものがあるのですが、後者側のように発展して欲しかったり、それか何か新しいのが出てくれると嬉しいなーというのが本音です。

ちなみになんとなく実践Vimのリンクを貼っておきます。

Vim and Compatibility

@senopen さん

グラサンで黒服といったフォルムにビックリ。怖い。。。ってイメージでしたがグラサン取ったら優しそうな人。

( •_•)
( •_•)>⌐■-■
(⌐■_■)

Vimのバージョン相違問題の回避策について。特に古いVimにも対応する方法等含め、お勉強になりました。

上記も踏まえたポータビリティな.vimrcというお話もありましたが、個人的に最近は環境やユースケースにあわせて.vimrcを用意するようなイメージになりました。といっても今は2パターンくらいですが。

メイン環境(ローカルマシン用)とスモール環境?(サーバー用とか)ですかね。

自分が触るようなものなんかだとnpm(Node, JavaScript, TypeScript, etc...)で色々いれたりcomposer(PHP)で色々いれたり、pip(Python)で色々いれたり、gem(Ruby)で色々いれたり、Goの色々入れたり(これは:GoInstallBinariesありがたい)、そもそもOSのパッケージマネージャーで色々入れたり(rgとかagとかetc...)というように結構、色々依存していて面倒なんですよね。

それ以前にちゃんとPythonやRubyも入ってないといけないですしね。その上でVimをビルドしてとか。

ということでスモール環境用のものはちょっと意識してみようかなと思いました。

今のところはその依存したツール類やプラグイン等が気に入っているのですが、いつかバニラVim側、スパルタン側に傾いてきたらそのときは.vimrcに書くものがなくなってきて寂しくなるので今回のお話を参考にやってみたいと思います。

Vimは盆栽、Vimは育てゲー。

neosnippet.vim + deoppet.nvim

@ShougoMatsu さん

説明不要のあんこっくびむおう!みんな大好きShougoさん。
スニペットのお話。勉強になりました。

ShougoWareのneocompleteを使いたいがために+luaなVimをコンパイルする人も沢山いますよね。

以前は自分もDark poweredな装備(プラグイン)をさせて頂いていました。

個人的にNeoVimを使っていなかったり、NeoVimに乗り遅れた?関係もありでしょうか。
現在は海外製のスタンダードなそれらを使ってます。

  • NeoBundle ----> vim-plug
  • Vimfiler ----> NERDTree
  • NeoComplete ---> YouCompleteMe
  • neosnippet ---> Ultisnips

お話の中で来年は凄いことになるようですので。

プラグインは結構ドックフーディングする派なので期待してます。

How ordinary Vim user contributed to Vim

スピーカー: @dice_zu

Vimの本体に contribute した際のお話でした。

Vim活のお話もされてました。Vimは毎朝ビルドするもののようです。

そういえば自分も最近?最近か?うーん...。Vimを毎朝ビルドしています。

最初は http://vim-jp.org/ のサイドバーの「Patches」でパッチの更新をみたりlingrをROMったりで見てたりしてました。

毎朝ビルドが無理な人は月に1回でもビルドしたら良いのかなとも思います。
Vimマガジンのリリース情報に記載があります。

英語が苦手な方は 今回の色々な方のスライドでも記載のあった有名人の @h_east さんが Qiita で月の半ば頃から月末にかけて 【Vim patchダイジェスト】 というものを更新されてます。

月1くらいならできるでしょ。

Vimのビルドは怖くないと思うのですが、やっぱり怖いって人はそうですね。

CUIでよければDockerで環境でも作ると良いかもしれないですね。

毎朝のVimのビルドにも飽きてきたら使っているプラグインの更新を追っかけたりすれば良いかもですね。

そんなこんなやってると細かい諸々が見えてきて本体に〜とかなる人もいるのかもしれないなーなんて。

改めてVimは盆栽、Vimは育てゲー。

The new syntax highlighter for Vim

スピーカー: @p_ck_

syntax highlightを独自実装したお話のようでした。

すいません。正直に言うと所要でロビーにいましたのでお聞きできませんでした。後日、公開されるであろう動画みますー。

gina.vim のお話

スピーカー: @lambdalisue さん

(You've been Super Viman. After this talk, you could say you are Super Viman 2 -- Life with gina.vim)

人間にとって優しくて、非同期なgina.vimのお話。

ちなみに gina.vim については Software Design 2017年10月号 に記事がありますので買ってない方は買いましょう。

Vimを使う人には下記のようなレベル分け?があるようですw。

  • Vimmer
  • Viman
  • Super Viman
  • Super Viman 2
  • Super Viman 3
  • Super Vimman God

個人的には vim-fugitive を使っています。

gitを使うのにわざわざVimを立ち上げるなんてお話もありまして「わかるー」って感じの女子的な共感がありました。

といってもそのときの状況によるわけでして 最近のVim8の :terminal を立ち上げてパシパシっとやってそのウィンドウを閉じてとか。

そもそもtmuxで分割しているときにはそこでやったりとか。tigからやったりとか様々ではあります。

今後パワーアップするそうで要チェックです。

メインのVim関連のお話とはちょっとそれてしまいますが lambdalisue さんはJupyter NotebookのVimキーバインドも開発されている方です。

Python関連のお話も書いておくと今の御時世だとなんとなく食いつく人もいると思うので書いておきます。

これは先日までjupyter notebookでVimモードからJupyterモードに戻る際に Shift-ESC というMacでタッチバー搭載マシン使いな人には辛いキーバインディングがありました。

現在は :q というそれこそVimそのものってキーバインドが追加されてます。クール。

といっても自分は一般教養レベルでしかjupyter notebookは触らないですが。

その他、VimConf 2017の喫煙組のリーダー的な存在でした。喫煙所をあけるとたいてい「いらっしゃい!」って感じのバーのマスター感が出ていたのが印象的でした。接しやすいー。接しやすいは正義ですね。

そして懇親会 & LT & 終わりに

楽しかったし、ほんとに居心地が良かったです。

その他にも色々ありましたがとりあえず、つらつらと書き疲れました。。
これでもだいぶ削除しました。

最後に、改めて運営の皆様、スピーカーの皆様、お疲れ様でした。ありがとうございました。