2009-04-13
ファイル名補完とあいまいマッチ
MRU モードで大文字小文字無視で、スペース区切り単語による indexOf 線形探索マッチ実装。正規表現使わないので高速。
- javascript/Hatena/Bookmark.js
- bookmark-xul/Hatena/Bookmark.js
- tests/Hatena/Bookmark.js
なファイルがあって、Bookmark.js まで入力したけど候補三つあるよどうしよう、というときに 'Bookmark.js tests' とかで一番下のだけマッチする、みたいな。fuzzyfinder.vim に抽象化せずに実装したので、取り込んでいただくにはアレすぎるので、patch だけいちおう
以下書こうとしてさじを投げた文章
一ヶ月ぐらい使ってこれが一番便利だなぁ、と思ったのでエントリーにする。エディタの履歴ファイルを、適当なインクリメンタルサーチでマッチさせ開く場合は、ファイル名に日本語を含まない場合、大文字小文字無視によるスペース区切りによる、断片マッチが一番個人的に便利。
vim や emacs でのエディタで、本体もしくは plugin で、上記の履歴からインクリメンタルサーチでマッチさせて開く実装として、例えば Hatena/Bookmark.js というファイルをマッチさせるなら
- ワイルドカードマッチ
- H*B*
- 正規表現マッチ
- H.*B.*
- あいまいマッチ(Eclipse や FuzzyFinder.vim の fuzzy pattern match)
- HB や H/B
なんかがある。しかし、履歴から開く場合、上記絞り込みの場合、よく意図する物とはファイルがマッチしてしまう。
- javascript/Hatena/Bookmark.js
- bookmark-xul/Hatena/Bookmark.js
- tests/Hatena/Bookmark.js
ディレクトリ、特にファイル名がかぶることが多すぎるのだ。で、大抵のプラグインの場合、そこからの絞り込みには対応していない。たとえば tests ディレクトリのに上記マッチから絞り込みたい場合 ( で行頭に戻れるとして )
- ワイルドカードマッチ
- H*B*tests*
- 正規表現マッチ
- H.*B.*tests.*
- あいまいまっち
- HBtests
のようになる。しかしそれでも、絞り込みの
ここはもっとくだらないことを書く場所だった
やった phpspot 様に掲載していただいたので僕もアルファブロガーの仲間入りだ.ne.jp!!!
ヒント:unsubscribe は DELETE キー