パーソナルツール

YankRing.vim : ヤンクの履歴を管理し、順々に参照、出力できるようにする

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

vimエディタ上でのテキストのコピー、削除の履歴を 順々に参照できるようにするプラグインです。 どのレジスタに、どのテキストが入れられているかを覚える必要が無くなるため、 テキスト編集の作業効率が相当向上します。 (Windows, Mac)

概要

YankRing.vim : Maintains a history of previous yanks and deletes
http://www.vim.org/scripts/script.php?script_id=1234

vimエディタ上でのテキストのコピー、削除の履歴を 順々に参照できるようにするプラグインです。
どのレジスタに、どのテキストが入れられているかを覚える必要が無くなるため、 テキスト編集の作業効率が相当向上します。

具体的には、vimエディタでペースト実行後、
Ctrl-P、または、Ctrl-Nを入力すると、
貼付けたテキストを履歴で順々に置き換えることができるようになります。

詳しくは 使用方法 に書いておきます。

インストール方法

スクリプト をダウンロードして、解凍ツールで解凍後、
pluginディレクトリ内のファイルをpluginディレクトリに、
docディレクトリ内のファイルをdocディレクトリにコピーしてください。

最後に、vimエディタのhelptagsコマンドで
vimのドキュメントにyankring.vimのドキュメントを追加します。

" Mac OSX環境の場合の例
:helptags ~/.vim/doc
" Windows環境の場合の例
:helptags ~/vimfiles/doc
ファイル URL
yankring_**.zip http://www.vim.org/scripts/script.php?script_id=1234

使用方法

ノーマルモード時の「p」コマンドでペーストを実行した後、
・Ctrl-Pを入力すると、より古い履歴と
・Ctrl-Nを入力すると、より新しい履歴と
ペーストで貼付けたテキストが置き換えられます。

まず、vimエディタ上でペーストを実行。

オリジナルのファイル。このファイルにYankRing.vimを使う。

↓ Ctrl-Pを入力すると、先ほど貼付けたテキストが履歴で置き換わります。

ペーストを実行。

↓ 更にCtrl-Pを入力。順々に過去に遡っていきます。

YankRing.vimで過去の履歴を参照。

・履歴のリストはリングになっていて、一回りすると、また同じ項目が出現します。
・ペーストした直後に、Ctrl-Nを実行すると、記録している履歴で最も古い履歴と置き換えられます。Ctrl-Pの場合は、直前の履歴と置き換えられます。
・YankRing.vimで記録した履歴はメモリ上に置かれているようなので、vimエディタを起動した直後には利用できません。

コマンドモードで利用できるコマンドの一覧

YankRing.vimを読み込むと利用できるようになるコマンドモードでのコマンドの一覧です。
より詳しく知りたい場合は、YankRing.vimのドキュメントを参照してください。

用意されているコマンドの簡単な説明
コマンド 説明 コマンド実行例
YRToggle YankRing.vimの機能の有効、無効を切り替えます。トグルになっていて、コマンドを実行するたびに交互に切り替わります。 :YRToggle
YRClear 履歴をクリアします。 :YRClear
YRShow 履歴のリストを表示します。 :YRShow
YRSetTop 数値の引数を取り、履歴のリストの指定した番号目の履歴が先頭に来るように履歴をずらします。 :YRSetTop 4
YRGetElem 数値の引数を取り、履歴のリストの指定した番号のデータを取り出して、ペーストします。 :YRGetElem 4
YRGetMultiple 数値の引数を取り、指定した数の履歴を取り出して、ペーストします。 :YRGetMultiple 12
YRPush 指定した名前のレジスタの内容を、履歴に追加します。 :YRPush *
YRPop 履歴のリストの先頭のデータを取り出して、破棄します。 :YRPop
YRYankRange 指定した範囲の行のテキストをYankRing.vimの履歴に追加する。 :4,50YRYankRange
YRDeleteRange 指定した範囲の行を削除してから、YankRing.vimの履歴に追加する。 :4,50YRDeleteRange
YRPaste YankRing.vimの履歴から、最新の履歴を取り出してペーストします。 :YRPaste
YRSearch 正規表現形式の引数を1つ取り、その正規表現にマッチした履歴全てを一覧として表示します。 :YRSearch search_word

設定

YankRing.vimの設定の説明用の表を下に用意しておきました。
特に目を通しておくべき設定項目は、
履歴の件数を管理する「yankring_max_history」と、
重複した場合の挙動を制御する「yankring_ignore_duplicate」です。

設定一覧
設定 説明 設定例
yankring_max_history 記録する履歴の最大数の設定です。デフォルトは30になっています。 :let g:yankring_max_history = 30
yankring_enabled この値を0に設定すると、YankRing.vimの機能を停止できます。 let g:yankring_enabled = 0
yankring_max_display :YRShowコマンドを実行した時に表示する、各履歴の最大表示桁数の設定です。 :let g:yankring_max_display = 70
yankring_ignore_duplicate 履歴のリストに重複したものがある場合に、履歴のリストに追加するかどうかの設定。デフォルトは1で重複したテキストは追加しない設定になっています。 :let g:yankring_ignore_duplicate = 0
ドキュメントアクション
コメント
blog comments powered by Disqus