VimConf 2019 Proposal
VimConf 2019 Proposal
Title
Let me talk about my vimrc to grow your vimrc
Your Vim is Only for You
Abstract
The objectives of this talk are to come to like your Vim more and more to increase your productivity with Vim. I will talk way to go forward to next step vimrc from vimrc build on many copy-and-past. It’s composed of two parts by my viewpoint. One part describes how to glow your vimrc. As you know Vim is so powerful and attractive editor. However, we have to learn how to use it. I will describe my way to glow my vimrc in this part. Another part is to explain a case of my vimrc. It includes not only what options/plugins/scripts in vimrc are used but also why I introduce them. You will be able to obtain some hints to step into Vim’s wonder world after listening to this session.
Pitch
この発表の目的、価値、参加者に届けたいこと
Vimを使って生産性を更に上げる
自分のVimをもっと気に入ることができるようになる方法を話す
そのためにコピペだらけのvimrcの先に進んでほしい
対象者
ターゲットは中級者以下
vimrcを開くことに抵抗はない
でも、ガリガリ書くにはVim scriptよくわからないし...くらい
既にコピペで100行から300行くらいの.vimrcは持っている人
登壇者について
Vimを2012年から7年間使っている
Pure vim scriptでPluginを作ることが出来る
Filter my GitHub by Type: Sources, Language: Vim script
26個だった...
大作はないが作法は知っている
Vim pluginにPRを送ることも出来る
vaffla.vim, lexima.vim, vim-githubinatorなどに数個送った
Vim本体に組み込み関数を追加するPRを投げられる (thanks vim-jp members)
話そうと考えていること
導入
素のVimは正直使いづらい、だからこそカスタマイズをしていこう
素のVimの素晴らしさについても可能ならば触れたいが、主題はvimrcを育てることとする
私は7年間ずっとVimをカスタマイズし続けてきた、みんなにもカスタマイズしていってほしい
でも、Vimはカスタマイズ性があまりにも高い
だからこそ、VS Code, IntelliJ, SpaceEmacsなどのいろいろと設定してあって直ぐに使えるものが常に普及する
vimrcを育てるには準備が必要だし、初めての人にはたいへん
つまり、準備が少し必要だということ
そしてここの障壁が大きいということ
この発表ではvimrcを育てるサイクルとその結果である私の.vimrcの話をする
中身のアウトライン
Part 1: vimrc cycle
Vimを使ってて不便だなと感じる瞬間を逃さない
不便だ、と思ったならばImproveしよう
vimrcを育てるサイクル (いい感じの図を作りたい)
不満を感じる
ここでメモをしたりツイートしたりSlackに雑に投げても良い
きっと誰からが答えてくれるし、そのためのvim-jp slack
まずは設定/Pluginを探す
大体は既にPluginが存在する
なので、ここで止まる
不便を感じる瞬間からここまでの繰り返しするのが殆ど
この繰り返しの中で稀にニーズを満たせないときがある
これは.vimrcを育てるチャンス
別に似たようなものがあったって書きたいなら書いていい
そこからどうスクリプトを書くか
別に最初からPluginを作る必要なんて無い
あなたの.vimrcから自然にPluginが生まれ落ちるのだ (ここをよく伝えたい)
どうやってPluginの形を成していくのか
他の言語でPluginを作ったことが無いのでPure Vim scriptの話しかしない
このサイクルを素早くこなすためのtips
vimrcは間髪入れずに開けるようにしておく
git管理することで、雑に書き捨てたりできる
つまりdotfiles
Part 2: mopp's .vimrc
私のvimrcの哲学/ポリシー/方針
起動に時間がかかってはいけない
pluginは限界までlazyする
Vim/Neovimの両方で動く
~/.vim, ~/.config/nvimの中身が空っぽであったとしても.vimrcを食わせたときにエラーが起きてはならない
使っている設定の紹介
なぜその設定をしたのか?の背景を話したい
なぜそのキーマップにしたのか、どういう単位で機能を分けたのか
Vimのこういった記事ではこういう設定が便利だよ、と機能にフォーカスすることが多い、実際この発表もそうなってしまうかもしれないが、極力どのような不満があったから設定をした、という話がしたい
もちろん、ネットで見かけて便利そうだから入れた、ということも大いにあるし、それも正解
この辺はもっと練る必要がある
Pluginをどう使っているか
上記と似たような方針で、どのような機能のPluginが便利か?よりも、私はこうやってこのPluginを使っていて便利だよ、の話がしたい
例: defx.nvim
悪い例: これはファイラーだ、上から順にこんな機能がある
良い例: 私はdefx.nvimを左側に細くツリーで表示して(通称エクスプローラー表示)、プロジェクト構造を把握しやすくしている、また、choose-winを組み合わせて任意のウィンドウで対象のファイルを開けるようにしている(ここでデモするか録画を流す)
Pluginを自分好みに設定する
高機能過ぎるPluginには物怖じしてしまう
まずはパクろう
設定をしすぎるよりも身体に馴染ませるのがいいときもある
Pluginの設定などが気に入らないがパッと代替案が思いつかないときがある、そんなときはしばらく使ってみよう
経験: vim-sandwichのデフォルトマップでsキーを使っていた、当時の自分はclではなくsを使っていたので抵抗があったが、代替案がどれもしっくり来なかった、ので、受け入れることにした、しばらく使ったら慣れたので今では問題ない
Pluginはとりあえず入れて、半年に1回大掃除をしよう
使っていないものを消す、ことが目的
育てる、に相反するようだが、植物と同じでvimrcにも剪定が必要だと私は思う
むしろ、このタイミングで友人/社内で勉強会を開くチャンス
明確な目的があるので開催しやすいし、長引かない
なぜ私が登壇しなくてはいけないのか?
私のVimレベルは中の中か中の上くらい、10点満点なら6点くらい、だろうと自覚している
初心者ではないが、Vimにコミットしまくったり、Pluginを開発しまくっているわけではない
Vim歴も7年になり、短くはない
初心者は超プロに憧れると同時に壁を感じ、壁を自ら作り出してしまうことが多々あると思っている、自分はその壁の、1歩作られない側にいるのではないかと思う
だからこそ私が登壇しvimrcを育てる話をすることで、これなら自分も出来るんじゃあないのか?と参加者に思ってもらえるはず
懸念点
VimConfという国際カンファレンスにはふさわしくないかもしれない
この程度の発表ならhogehoge.vimでよかったかな...となりうる