Vim #11 に参加してきた

@ujihisa さんが主催する Vim 勉強会 #11 に参加してきました.

neocomplcache についての簡単な解説.インサートモードの = に補完候補を移動するキーを割り当てていたのが印象的でした.

inoremap <expr>= pumvisible() ? "\<C-n>" : "="

こんな感じだったと思います(うろ覚え).補完候補が出ているときは <C-n> で次の候補を選択し,出ていないときは普通に = を入力します. 補完中に = を入力することはまずないため,常に = の左右に半角スペースを挟むスタイルでプログラミングしていると便利です. この機能は <Tab> に割り当てられていることが多いですが,タブキーを他の機能に使いたかったり左手小指をいたわりたかったりする 場合に良さそうです.

これとは別ですがスニペットファイルについて,今までつまずいていた箇所を ujihisa さんに教えていただいて助かりました.

jedi.vim について(@kozo2 さん)

Python の文脈を考慮した優秀な補完を提供する jedi というツールを Vim から利用するためのプラグインです. 実演を見ていた感じ,補完の速度も使っていて気にならないレベルで,Python 使ってプログラミングする人は 入れておいて損が無さそうでした.僕自身は Ruby を使っているので,RSense の後継に期待しています.

VimShell について(@ujihisa さん)

:VimShellSendString {string} で,開いている VimShell に {string} をコマンドとして送信できる機能がある ことを知りました. よく使うコマンドをマッピングしておくと便利そうです.

vim-altercmd について (@LeafCage さん)

vim-altercmdVim のコマンドにエイリアスを付けられるプラグインです. 個人的に面白いと思ったのは,小文字始まりのエイリアスを付けられる点です. 本来 Vim script のユーザ定義コマンドは大文字始まりでなければなりませんが,このプラグインによる別名は小文字始まり を許容します.

気になったので質問したところ,ujihisa さんに実装について教えてもらえました. vim-altercmd はコマンドを定義しているのではなく,:noreabbrev を用いて展開しているらしいです.

tcvime.vim について(@kozo2 さん)

日本語入力 tcode を Vim で使う話でした. 自分は Google IME しか使っていないのですが,慣れるとかなり良いらしいです. 覚えるのもひらがな程度であればそこまで大変では無さそうなので,試しに挑戦してみるのも良さそうです. ノーマルモードでトリガーキーを押せば入力できる(インサートモードに入る必要が無い)のが面白いです.

neosnippet について(@ujihisa さん)

僕自身もかなりお世話になっているプラグイン,neosnippet についての発表でした. なかなか会場も盛り上がって,neosnippet の便利さが伝わっていた感じで良かったです. 発展的な内容は時間の都合で飛ばされてしまったので,後で発表資料をチェックしたいと思います.

マクロ漁船(匿名さん)

マクロを利用した brain f**k の実装についての話.マクロを知り尽くしている感じで,すごい以外の感想が出てきませんでした. 先日の ujihisa.vim #3 を ustream で見ていたときはまったく理解できなかったのですが,今日は2回目ということもあってか 前よりも少し内容が理解できた気がします.

全体的に

発表中でも気になるところをツッコめたりして,フレンドリーな勉強会でした.