パーソナルツール

search fold : 検索にマッチしない行を折りたたむ

作者: 小見 拓 最終変更 2012年01月10日 02時09分
— カテゴリ:

折りたたみ(フォールディング)操作用スクリプトで、 検索にマッチした行以外を折りたたむ(フォールドする)機能を持っています。 表示する行(フォールディングしない行)の条件は複数指定可能です。 ログファイルなど、行指向でパターンの決まったファイルを扱う時に便利なスクリプトです。 (Windows, Mac)

概要

search fold : unfold searches
http://www.vim.org/scripts/script.php?script_id=1503

折りたたみ(フォールディング)操作用スクリプトで、
検索にマッチした行以外を折りたたむ(フォールドする)機能を持っています。
表示する行(フォールディングしない行)の条件は複数指定可能です。
ログファイルなど、行指向でパターンの決まったファイルを扱う時に便利なスクリプトです。

「now」と「first」にマッチする行以外をフォールディング

Note

上の画像は、このスクリプトで、検索条件「now」と「first」にマッチしない行を 折りたたんでいるところです。

インストール方法

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

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

使用方法

ある語を検索した後、「:SFS」コマンドで、
検索語にマッチしない行に対して折りたたみを実行します。

:SFS

さらに、他の語を検索するか、
「:let」コマンドで検索語を変更した後、

" :letコマンドで検索語を変更する場合のコマンド例
:let @/="searc_keyword"

「:SF」コマンドを入力すると、さらに、その語にマッチしていない行も追加で
折りたたみの対象から外します。

:SF

「:SR」コマンドは全ての折りたたみを解除するコマンドです。

:SR
コマンド 説明
:SFS 最後に使用した検索語にマッチした行以外をフォールドします。それまでの折りたたみは解除されます。
:SF それまでフォールドしていなかった行に加えて、最後に使用した検索語にマッチした行の折りたたみも解除します。
:SR 全てのフォールドを解除します。
:SC フォールドしていない行の行数を表示します。

まず、折りたたみの対象から外したい行にマッチする検索を実行します。

検索実行

「:SFS」コマンドを実行して、検索語にマッチしない行を折りたたみます。

:SFSコマンドの実行。検索語にマッチしない行を折りたたみ。

追加して折りたたみの対象から外したい行にマッチする検索を実行します。

再度の検索実行 この検索語にマッチする行が折りたたみ対象から外れる。

「:SF」コマンドを実行して、折りたたみの対象外の行を追加します。

:SFコマンドの実行。折りたたみしない行を追加。

最初に入力した「now」と、次に入力した「first」にマッチしない行がフォールディングされます。

注意事項など

現在のバージョン(1.1)では、 コマンド実行時にエラーメッセージが表示されます。
ただし、スクリプトの動作に影響はありません。

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