Vim勉強会#3に参加&発表しました。朝早くからVim大好キー総勢7名が集結しました。今回は前回のようにネットワーク環境がなかったため、Lingrやustreamなどを通して勉強会の様子を外部に伝えられなかったのが残念でした。以下、当日の様子:
「Vi IMproved - Vim完全バイブル」の19章から21章までをextreme readingしました。以下、主な話題:
'ignorecase'派: ujihisa / Sixeight / yoppiblog/自体の検索は\/とエスケープ必須、面倒(kana)\v (very magic)は便利(ujihisa) - 「正しい」発音は「べりーまっち」(kana):display = :registers:registersの表示が面白い"*はCUI版では使えませんよね? (yoppiblog) - (CUI版でも使えるケースはあるけど)ほぼGUI版限定ですね(kana)inoremap <C-u> <C-g>u<C-u>:snext等の説明が逆 / 正しくは「:splitしてから:nextする」等(Sixeight):vsnext等はないの? (Sixeight) - それ:vertical snextでできるよ(kana) - :tab snextなんてのもできるよ(kana)一言で表せば「smartchr完全解説」でした。詳細はkozo-niさんの発表資料を参照してください。以下、補足のようなもの:
function(はHaskellの無名関数の表記が元ネタですね。なかなか過激な設定案。キーリピートし過ぎたら元に戻る機能ですが、現状でも
smartchr#one_of()の最初と最後の引数を同一のものにすればできます。例えばinoremap <buffer> <expr> _ smartchr#one_of(' = ', '=', ' == ', ' = ')とすれば_をタイプするたびに最初の3つのパターンが順々に入力されます。引数の設定が面倒ですしDRY違反になるので、分かり易い名前のラッパー関数(smartchr#loop()など)を用意する方が良いでしょうね。なお、引数に与えるパターンによっては上手く循環しないケースがあると思います(その場合は普通に使う分においても最後のパターンまで挿入することができないとは思いますが)。kozo-niさんの発表動画を公開しました。
「Vimの極め方」というお題で発表しました。内容的には「2007年の抱負: Vimを極める」を実践するにあたって試行錯誤してきたことのまとめです。発表内容で挙げた事項を実践すると半年で戦闘力(訳注: vimrcの行数)が10倍になります。
しかし発表自体はぐだぐだでアドリブきかず抑揚が今一という酷い有様でした。次のVimM#2ではもっとまともな発表ができるように頑張りたいと思います。
本勉強会の主催・宿の提供・「Haskell入門」の贈与をしていただいたujihisaさんに感謝します。もう足を向けて寝ることができません(でも泊まったときは配置的に足を向けていたという事実)。
あと、大阪を徘徊しすぎて疲れました。10分弱を1時間強とか、私の方向音痴具合はどこまでひどいんだ。荷物のMacBookは携帯するには地味に重いため、MacBook Airが非常に羨しかったです。