パーソナルツール

spotlight.vim : Mac OSXのSpotlightの機能を使用してファイルを検索して開く

— カテゴリ:
作者: 小見 拓 最終変更 2012年01月08日 11時52分

Mac OSX 10.4以降のSpotlightの機能を利用して、 ファイルを高速で検索、開くことができるようにするスクリプトです。 (Mac)

概要

SpotlightOpen : Open files using MacOS Tiger's Spotlight
http://www.vim.org/scripts/script.php?script_id=1275

Mac OSX 10.4以降のSpotlightの機能を利用して、 ファイルを高速で検索、開くことができるようにするスクリプトです。
slocateコマンドがインストールされていないと利用できません。

locateopen.vimスクリプト の代替としても利用することもできます。

インストール方法

スクリプト をダウンロードして、
pluginディレクトリにコピーしてください。

ファイル URL
spotlight.vim http://www.vim.org/scripts/script.php?script_id=1275

使用方法

このスクリプトをインストールすると、下の表の4つのコマンドが追加されます。
検索したいファイルの名前を引数にコマンドを実行すると、 検索結果のファイルに対して、処理を実行します。

Note

デフォルトの設定では、 ファイル名に「完全一致」した時のみ、検索にヒットするようになっています。

用意されているコマンド
コマンド 説明
:SpotEdit {somefile.txt} {somefile.txt}を検索して開きます。:editにあたるコマンドです。
:SpotSplit {somefile.txt} {somefile.txt}を検索し、別ウィンドウで開きます。:splitにあたるコマンドです。
:SpotRead {somefile.txt} {somefile.txt}を検索し、カーソル位置に読み込みます。:readにあたるコマンドです。
:SpotSource {somefile.txt} {somefile.txt}を検索し、ロードします。:sourceにあたるコマンドです。

コマンド実行の例

コマンド実行例は下になります。
下の例だと、「main.c」という名前のファイルを検索して、 その名前のファイルが見つかったら、そのファイルを開きます。

" コマンド実行の例
:SpotEdit main.c

複数のファイルが検索にマッチした場合

複数の同じ名前のファイルが見つかった時は、 locateopen.vimスクリプト の挙動と同じく、 見つかったファイルのリストを表示します。
この場合は、開きたいファイルの番号を入力してエンターキーを押せば、 選択したファイルを開く事ができます。

開きたいファイルを選択する

設定

検索に関する設定が用意されています。
特に重要なのは「spotlightopen_match」の設定でしょうか。
この「spotlightopen_match」の設定をvimエディタの設定ファイルで行うと、
ファイル検索のマッチの方法を変更できます。

  • ファイル名に「完全一致」した時検索にマッチ
  • ファイル名に「前方一致」した時に検索にマッチ
  • ファイル名に「部分一致」した時に検索にマッチ

デフォルトの設定では「完全一致」した時に検索にマッチするようになっています。

このスクリプトで用意されているオプション
設定 説明 設定例
spotlightopen_match 0なら「完全一致」、1なら「先頭一致」、2なら「部分一致」でファイルの検索を行います。 :let g:spotlightopen_match = 2
spotlightopen_limitftype 検索するファイルの種類をUTIというので指定します。 :let g:spotlightopen_limitftype = "public.plain-text"

注意事項など

このスクリプトは、Mac OSX 10.4から利用可能になったSpotlightの機能を使用しています。

ドキュメントアクション
コメント
blog comments powered by Disqus