ku source: mrufileとmrucommand続き,およびMac上のVimでOptionキーを扱う方法
昨日kuのsource作ったよ!とtwitterに書いたところ,Lingrのvim-users.jpにてkanaさんとthincaさんからいろいろとアドバイスを頂いたので,書き直してみた.
mrufileの方は,thincaさんのku source: file_mruを参考にしつつも,項目にディレクトリも入れておきたかったので,そんな感じで修正してみた.あと,autocmdはplugin以下に移した.ただ,履歴を削除できたりとかthincaさんの方が高機能なので,おすすめです.
mrufileとmrucommand共通の話としては,ku 0.2系からは本体側でキャッシュしてるので,source側では簡単に書けるようになっているそうだ.mrucommandの方なんかは,実質gather_itemの中で履歴集めるだけになった.
さらに,kuの設定についてもkanaさんにいろいろとアドバイスしてもらった.その結果はこんな感じ.ここで注意すべきは,kuは既に設定されているmapを上書きしないので,例えば,kuでコマンド実行する<Cr>とかを他のところで<Cr>をmapしているとうまく動かない.そこで,kuのデフォルトキーで強制的にmapしたのち,さらにそこに自分用のmapを設定するようにしている.
ちなみに,<Esc><Cr>とか書くとMeta-Returnというmapを定義したことになる.ただし,Macの場合は,Terminal.appだとターミナル -> 環境設定 -> 設定 -> キーボードの「メタキーとしてoptionキーを使用」,iTerm.appの場合は,Bookmarks -> Manage Profiles... -> Keyboard Profilesの「Option Key as」を「+Esc」にしなければならない.それでも,iTerm.appの場合は,<Esc>jとかはうまくいかない.それはことえりの英数入力とかだと,Option+[a-zA-Z]が記号入力に割り当てられていて,iTermまでOptionが届いてないのが原因の模様.入力モードをU.S.にすればこの問題は回避可能だが,その場合JISキーボードだとバックスラッシュを入力する手段がなくなるので,それはそれで使いにくくなってしまい残念な感じ.この辺の問題については今後の課題.
また,GVimとかMacVimの場合,<A-Cr>のようにA-をつけるとOptionキー(WindowsとかだとAltキー)指定になる.というわけで,現状は,Option-CrとかOption-Tabとかだけがほぼ全ての環境で使いものになる感じ.
2009/5/10 00:20 追記: thincaさんもmrucommand相当のを作ってくれたようだ.そちらも削除コマンドとかあったりして高機能なので,自分が作ったのは練習用&自分専用って感じやなー.でも,自分で実装すると具体的なアドバイスもらえたりとかなり楽しかったので,また別のsourceを作ってみようかな.何を補完できたら便利かなぁ.tagとかは微妙か.
2009/05/09 22:07 | Vim | トラックバック(0) | コメント(0)
コメントの投稿
トラックバック
トラックバックURL
→http://relaxedcolumn.blog8.fc2.com/tb.php/152-40201218
コメント