fc2ブログ

ぼちぼち散歩

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)

ページの先頭へ

kuを使いはじめたのでku source: mrufileとmrucommandを作ってみた

最近,kanaさんによるVimプラグインであるkuを使ってみている.kuはsourceと呼ばれるプラグインの用なものを追加することで,検索対象を増やすことができる.というわけで,最近使ったファイルと最近使ったコマンド用のsourceを作ってみた.

mrufileはfuzzyfinderのMRUFileのあたりのソースとku source: historyのソースをだいぶ参考にし(というかパクリ)ながら,それっぽい感じにしたつもり.mrucommandはq:とq/で出てくるコマンド履歴と検索履歴をku用に整形した感じ.ただ,実行するところ(ku#mrucommand#execute()とku#mrucommand#input())の書き方がわからず結局feedkeys()になってしまった.

と思ったらmrufile相当のは既にありましたorz自分が書いたのは最近リリースされたku 0.2系に対応してるということで,ギリギリセーフといことにしておくか(^-^;) 2009/5/9 00:48追記: thincaさんが0.2系対応版のmrufileをgithubに上げてくれました!(リンク先の追記参照)

とりあえず動いていますが,バグとかあるかも知れません.あとはkanaさんが美しく直してくれるはず!

2009/05/08 21:07 | Vim | トラックバック(0) | コメント(0)

ページの先頭へ

トップページへ