blue glass block

memo and etc...

Vimconf 2018 感想

Vimconf 2018 on 2018/11/24 (Sat)

楽しく興奮した時間は過ぎ去り、また、いつもの日常(月曜)がまた来てしまった…
そんな感慨を覚えながら、振り返ってみよう。
(本当は日曜に既に家族と過ごす日常は来ていたが…)

一言で言って

一言で言って最高だった(最高)

全体的な感想

昨年(Vimconf 2017)より、引き続き参加。
昨年よりは少し場慣れした感じもありつつ、少々の緊張もあった。
今年はやはり Bram さんが参加されるとのことも有ってか、昨年よりも海外から多くの方が来られてたようで、確実に国際色豊かになっていた。
通訳も、英語→日本語、日本語→英語ともにプロの人に、やってもらっていた。
昔、rebuild.fm で rubykaigi (だったかな?)で、通訳のプロ入れるのは金額的にもスピーカーの準備なども大変と聞いたことが有ったことを思い出し、おぉスゴイと思った。

タイムテーブル順にその感想

注意事項

これは個人の感想であり、主観であり、個人的なメモと記憶に基づくため、実際の発表の内容、又は本来の発表者の意図と異なる場合があります。

始まるまで

  • かなり、早く到着。
  • 通訳らしき方が到着してた。よって今年は ujihisa さんの通訳ではないと悟る。
  • 奥さんと携帯で連絡とり合ってたら、Bram さんが目の前を通り過ぎてた。
  • 受付が始まる。3番目位に並んだが、なぜか受付やノベルティーの受取が爆速で終わり、一番最初に入ったと思う。少し緊張して来た。
  • 始まる。各自、各々席に着き準備。
  • ノベルティ確認、鮭とばがある。

Reseption

  • @moppさん、今年も司会ぶりがすばらしい。かっこいい。
  • スポンサーの各社様、個人スポンサーの皆様、スタッフの皆様、ありがとうございます。
  • ノベルティーの紹介、やはり鮭とばがある。

Keynote - What is the next feature? by Yasuhiro Matsumoto

  • mattnさん緊張していたらしい
  • スライドの各ページのタイトルが Vim コマンドになっていて、かっこいい。
    • :echo $USER
    • :e ~/Books/Vim
  • vim-jp が出来た経緯、KoRoNさんとの馴れ初め、vim-jpが果たしてきた役割などの話。
  • New feature の話
    既に動くものを書いてる辺り mattn さんらしい。
    • Suggestion 1
      • Support DRCS Sixel on :terminal
    • Suggestion 2
      • ch_listen()
    • Suggestion 3
      • BLOB type

本当に vim-jp ができて vim の開発者コミュニティーがまとまる場ができたのは大きいと思う。

  • 昔から貢献している mattn さんや、KoRoN (kaoriya) さん
  • 今や patch 数も日本人最多、 vim の ticket 管理も任されている k-takata さん
  • 様々な bug / document fix や、新機能 clpum の作者の h-east さん
  • 細かい所に手が届く ichizok (Ozaki Kiichi) さん

などなど、その他ドキュメントの翻訳関係など含めも、いろいろな人の協力で改善されている。

Short break and スポンサーの atWare さんの発表 by @guyon

  • 面接で大半のVimの話
  • Google 「アットウェア v」で「アットウェア vim」とサジェストされる
  • プラチナスポンサーになるまでの流れ良い話だった

Keynote - Vim: From hjkl to a platform for plugins by Bram Moolenaar

  • 感極まる(感極まる)
  • タイトルが感慨深い
    vim が plugin の platform になったと言うのが Bram さん本人から発表されたのが大きい気がする
  • Vi に既に mapping は有った。
  • Vim では ver 4.0 で Autocommands、ver 5.0 で Vim script (syntax highlighting、ftplugin、indenting)、ver 6.0 で、 runtimepath の追加で plugin として管理できるようになって、いろいろ出来るようになった。
  • でも performance も問題に
    • profile (便利)
      • :profile file {pattern}
      • :profile func {pattern}
    • startup time (便利)
      • vim --startuptime {fname}
  • Get a faster computer! だけど…
  • plugin loading time に関しては
    • autoload が ver 7.0 で追加
    • ここでいきなりの
      Future: Multi-threading: load a plugin in a separate thread.
      というアイデア。出来ればスゴイけど Some day... とのこと。
  • plugin execution speed に関しては
    • python.pyc みたいに .vic として中間表現を作ろうとのこと!
    • これには、おおマジでか!?と大興奮!
      実装とかまだ全然みたいだけど、Bram さん本人にそう言う考えがあるとわかって興奮した。
  • plugin management の話
    • packadd が ver 8.0 で追加
    • その他、plugin manager plugin もいろいろある
    • でも dependencies の問題がまだあると (先進的な plugin manager は持ってたりすると思うけど)
      そこで Proposal だけど…
      • plugin 毎に dependencies.vim をもって PluginDepend() で依存性を定義。
      • plugin 本体で PluginLoad() する。
  • more plugin support
    • Jobs and channels が ver 8.0 で追加された
  • plugin support poll で、多かった下記の2つをサポートするには…
    • 193 Popup window to show hints/message and pick an item
    • 179 Store properties with text, used for highlighting et al.
  • text properties というアイデアがある…と話し始める
    これまた、おお!っと思わせる機能
    show hints/message 以外にも、実装次第ではあるものの、既存の正規表現ベースの syntax hilighting が高速化したり、
    さらにLSPと連携した高度なものなども、実現可能になる夢がある。

Lunch break

  • 2種類の弁当を選べたが、今年もつい今半のすき焼き弁当選んでしまった。
    去年と同様においしいかったが、ベジ弁当もおいしかったの報告を見て、そちらに挑戦しても良かったと悔やんだ。
  • Vim で何書いてるか? アンケートが実施されていた。

Migrating plugins to standard features by daisuzu

  • plugin じゃなくてもできるよ!というお話
    plugin を使おう! という話になりがちな中、良い。スパルタン Vim きっかけ。
  • De-neocomplete
    • built-in の補完便利だよね。
      行補完とか賢すぎる。補完候補を選択している最中にもう一度CTRL-X_CTRL-Lすると、選択している次の行が候補に出てくる。
    • 自分も De-neocomplete したなぁ。理由は以下の通り
      • 数日使っていると cache などの為にと思われるが memory の使用量が 200MB over とかになる。
      • buffer の補完も自前で cache しているためか、さっき書いたことが補完候補に出ない
        これについては、後日、vim script から buffer 内の補完候補を取得できる便利関数が無いということを知った…
      • 上記を理由に built-in の補完をうまく使いたい
      • ので、 vim-acf なるよく分からんモノを自作してしまった。
  • De-neobundle
    • vim-plug 使っているけど、なるべく本体にある機能の packadd 使いたいなぁ。
    • packadd 使っている k-takataさんの minpack が気になる。
  • De-unite
    • 昔使っていた。Grepの非同期読み込みなどが魅力だった。
    • 今は ag などで検索自体速いし quickfix windows 使って :cn とか :cp したくて、止めてしまった。
    • その後、MRU や buffer 移動には CtrlP 使うようになった。
  • De-vimfiler
    • よく使うツリー表示のためのだけの単体 plugin の tree.vim を作った。すばらしい。

Modes by Tatsuhiro Ujihisa

  • モードの話だけかと思いきや、Vim の Debug 方法を解説されており、良い。
  • vimtutor
    • 昔やった、懐かしい。
  • :help
    • 重要。今でも見る。
  • GDB
    • gdb --tui もいいけど、
    • 自分的には cgdb をよく使う
    • -ggdb3 重要 (macroを扱うときなど?)
  • termdebug.vim
    • 存在は知ってたけど、使ったことなかった。
    • 便利そうなのだけど、 vim で編集可能な状態だと直ぐにファイル書き換えてしまいそうで敬遠してた。
    • 昔、clewnとか有って試したけど、ちょっとしか使わなかった。 (懐かしい)

Short break

  • コーヒーと紅茶のおかわり到着

A day in the life of (ordinary) Vimmer by OKURA Masafumi

  • 一日の様子
  • 自分も、一年前は、毎日 git pull して、ビルドしてたなぁ…
    plugin もだいたい毎日 update してた。
  • 緊張のせいかtype missが、頑張ってと言う気持ち。
  • podacs ! podacs !
  • This is TDD.
  • aaccepts !
  • Agは quickfix に残るので良い。
  • fzf ちょっと良さそうな感じ。
  • viの alias いいかも

Modern editor-independent development environment for PHP by USAMI Kenta

  • 争い事よくない
  • 有用なエディタの機能は、他のエディタに移植されたりする、今年は Rainbow Brackets とか。
    こういうのは良い
  • 昔は IDE は使ってなかった
  • tag jumpは正義
  • 今は色々あるよ
    • PhpStorm
      • この様な popup window を vim でも表示できれば、やはり便利だよなぁ
        text properties の実装が本当に待たれる
    • Phan
    • PHPStan
  • ここで LSP の説明
    • Bram さんに伝わって欲しい…
  • Vim + ALE で、Vimでもいろいろ使えるよ
  • 唐突に Veonim 。
    • 面白そうな Neovim の frontend

Effective Modern Vim scripting by Alisue

  • Bramさんの前で Dark Vimmer の説明が始まる!!
  • 普通に良い plugin 作成チュートリアルな感じで参考になった。
    後で詳しく見たい。
  • Vital.vim 便利

Short break

  • Vim に期待する新しい機能は? アンケート

Oni - The GUI-fication of Neovim by Akin

  • Bram さん以外の海外 Speaker。
  • Neovim の GUI の frontend の Oni について。
  • Neovim の syntax highlight 使ってるの? 自前でやってるの?
    → based on Textmate らしい
  • この様な現代的でカッコイイGUI frontendは憧れる。
  • おこがましいけど、 Bram さんもこういうのを見て、何かしら刺激を受けるといいなぁと思っていた。
    便利なものなどは、やはり実際動作を見ないとわからない所あると思うし。

Vim ported to WebAssembly by rhysd

  • color schemespring-night でお世話になっている rhysd さんの発表。
    みんなも最高なので spring-night 使おう。
  • WASM にするところで表示はどうやっているのかと思っていたら、 gui_*.c を WASM 様に作成されたとのこと…なるほど。
  • しかも、だいたい8日間で動くものできたらしい。
  • tiny featureが便利
  • やっている事に対し、発表がサラリと話されている印象だった (すごい!)

Lightning Talks

A brief introduction to vim-orgmode by Takaaki ISHIKAWA

  • 第2の脳
  • WordにExport
  • tree 暗号化
  • なんかすごそう

Neovim as a web browser controller by notomo

  • terminal と browser との行き来、辛い。
  • ctrlb.nvim
  • Neovim からコントロールできる面白い
  • Browser による FizzBuzz 最高だった。

VimPhone 2018 by rattcv

  • Demo、Demo頑張って欲しい…
  • 時間切れかー。
  • 何かがすごかった。何かが。

Differences between Nvim and Vim in 5 minutes by Shougo

  • いろいろ違いがあるけど、LTだと駆け足。
  • もう少しじっくり聞きたかった感。

The vim-history repository by Ken Takata

  • 2004年に Vim 7.0 の開発が始まった。
  • 1991年に Vim 1.14 release されたらしい。
  • From v1.14 to v5.4 は tarball。
  • From v5.5 to v6.4 は CVS から
  • 今の git repository に過去のやつ持ってくるの面白いなぁ。

Closing by mopp

  • Vimconf 2018 良かった(良い)

懇親会 (After party)

今年は、話したい人に話せるようにという気持ちだけは持っていた。
そして話せた。これだけで本当に良かった。
Bram さんは雲の上過ぎてそこまで行けなかった…のと、
今年こそはと言う意気込みが先行し、まずは、去年、話せなかった人たちに話しに行っていた。

まずは始まってから少し経つと、中央の机に KoRoN (kaoriya) さんと、k-takataさんがいるではないか!
という事で、話しかけに行った。

KoRoN さんには、Windows時代に kaoriya の vim を使っていて、多分それがなければ vim 使ってなかっただろうなぁと思ったので、
いろいろな人に言われているだろうけども感謝を伝えたところ、自分のネームタグを見て、「あぁ、知ってますよ」的なこと言ってもらい、ちょっとうれしかった。
kaoriya vim の名残で、今も migemo patch を使わせてもらっているので、自分の vim :ver するとは +kaoriya+migemo がある。

k-takata さんにも imstyle の patch で、 ynkdir (中平) さんの作成されたGTKの over-the-spot patch を既存の on-the-spot を壊さないように、
つまり取り込まれやすい様に改良してもらい vim に入れて頂いた事について、感謝を伝えられた。
(その後、再度話す機会があり vim-hisotry の話も聞けた)

その後、ynkdir (中平) さんの話題になり、最近どうしているのだろうと話になった。たしかに、気になるなぁ…
個人的に google code にあった、日本語入力系の patch を使ったり、uim-ctlを使ったりしていたので、話せる機会があったら、話したいなぁと思っていた。

その後、 mattn さんにも話しかけた。
最近のやり取りさせてもらった issue の話と、直接 vim の話じゃないけど mattn/memo の話した。
mattn/memo から起動する editor は vim だしいいだろ的な感じだった(心の中で)。
この blog の下書きも mattn/memo で書いている。

更に、その後 h-east さんがいるっぽい話が聞こえてきたので、探して声をかけた。
もちろん clpum の件で、便利ですと伝えることができた。
本体に早く取り込んで欲しいですよと話せた。

懇親会も終わりかけというか、終わった直後に rhysd (Linda_pp) さんにも話しかけに行った。
spring-nightの件で、loadがめっちゃ速くなりましたよと言えてよかった。

その後

vimthon なるイベントがあったそう。
Bram さんと直接話せるのメリットしか無い。