YankRing.vim : ヤンクの履歴を管理し、順々に参照、出力できるようにする
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エディタ上でペーストを実行。
↓ Ctrl-Pを入力すると、先ほど貼付けたテキストが履歴で置き換わります。
↓ 更にCtrl-Pを入力。順々に過去に遡っていきます。
・履歴のリストはリングになっていて、一回りすると、また同じ項目が出現します。
・ペーストした直後に、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 |
Recent Comments
ありがとうございます!
http://nanasi.jp/articles/howto/editing/visualcursor-endtoend.html · 7 years ago
知りませんでした。有難うございました。
http://nanasi.jp/articles/howto/file/open-with-format.html · 9 years ago
<c-f>1ページ分、下にスクロールする<c-b>1ページ分、上にスクロールする
どっちも逆です。
http://nanasi.jp/articles/howto/user-manual/user-manual-motion.html · 10 years ago
set 使用時に : で閉じるのを忘れて右往左往してました。
http://nanasi.jp/articles/howto/file/modeline.html · 10 years ago
やっぱり日本語の方が早いっす。
http://nanasi.jp/articles/howto/help/help_ja.html · 11 years ago