Peggyでインクリメンタルサーチ
Peggyを愛用している(というかもはやないと生きていけない)僕は、会社でもいろいろな人へPeggyを勧めているのですが、emacsやvi使いの人に必ず言われるのが、「インクリメンタルサーチがないとなあ…」です。
とくにemacsな人は、「主にインクリメンタルサーチで移動する」と言うくらい使用頻度が高いらしい。僕は自作のスクリプト(menucomplete.ms)で検索ツール上で補完ができるので間に合うことが多いのですが、確かにあった方が絶対良いのは確かです。実はインクリメンタルサーチ機能はないことはないのですが、検索ダイアログボックスで、いちいちチェックをONにしないと使えないのです。これは使えるとは言わないよなあ。
というわけで、カスタムダイアログボックスのコールバック機能を使って、インクリメンタルサーチを実現してみました。
http://b--j.hp.infoseek.co.jp/i-search.ms
ポイントは、カスタムダイアログボックスのコールバックからPeggy本体のビューを操作できること。こういう使い方をしてるスクリプトは今まで見たことがなかったので、思いついたときはできるかなーと心配したのですが、やってみたらあっさりできました。こういうところの柔軟性はさすがPeggyですな。
ただ、今のところ問題点が二つありまして…
◇次の検索語に行くのがEnterキー、検索を終了するのがESCキーに限定されてしまう。「前の検索語に行く」というようなことができない。これはカスタムダイアログボックスの制限です。
これを解決するには、カスタムダイアログボックス上で「onKey」みたいな任意のキー入力にコールバックをかけられるようにしてもらうしかない。
◇入力語を検索してもなかったときは、その入力を「なかったことにして」検索される入力語まで戻る(例えば、seaまで検索語があって、seacと入力したときに検索語がなかった場合はseaまで戻る)という機能を実現したいのだが、現状それを行うにはカスタムダイアログボックス上のエディットコントロールに新たな語をセットするしかなく、そうするとカーソル位置が先頭に戻ってしまう。本当はカーソル位置が後ろに来て欲しいのだが…。
これを解決するには、エディットコントロールのカーソル位置をコントロールできるようにしてもらうか、もしくは上記のonKeyの実装でも実現できる。
一つめは不便ではあるものの、まだ我慢できるのですが、二つめは致命的です。これではちょっと使えないなあ…。掲示板で要望を出して、onKeyの実装か、カーソル位置のコントロールができるようにするのを要望しよっと。
それまでは、スクリプトライブラリへの投稿はできないですね。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- 初音ミクの曲(動画)個人的な十選(2009.02.15)
- 2008年ニコニコ動画個人的ベスト10(2008.12.06)
- menucomplete.msのクラスメンバ補完を強化する(2008.07.21)
- ctagsをWin32環境でビルドする(2008.07.21)
- EeePC901の初期設定(2008.07.21)
この記事へのコメントは終了しました。
コメント