Vim操作方法

[Vim問題] 番号付きレジスタってなに?

アイキャッチ:番号付きレジスタってなに?
記事内に広告が含まれています。
スポンサードリンク

この記事では、Vimでレジスタのうち「番号付きレジスタ」についてご紹介します。

スポンサードリンク

[解答] 行削除またはヤンクした文字列を格納するエリア(レジスタ)

ヘルプの説明はこちら。

2. 番号付きレジスタ “0 から “9          quote_number quote0 quote1
                                        quote2 quote3 quote4 quote9
これらのレジスタには、コピーや削除コマンドによってテキストが蓄えられる。
番号付きレジスタの 0 には、一番最近にコピーしたテキストが蓄えられるが、コピー
の際に [“x] として別のレジスタ名を指定したときは、これには蓄えられない。
番号付きレジスタ 1 には、一番最近に削除したり変更したテキストが蓄えられるが、
コマンドに別のレジスタ名を指定したり、削除や変更したテキストが1行以下だったり
したときは、これには蓄えられない (そのときは小削除用レジスタが使われる)。例外
は、以下の移動コマンドと削除コマンドを組み合わせたときである。%(),
`/?nN{}。このときは必ずレジスタ “1 が使われる (これ
はVi互換の動作である)。削除や変更したテキストが1行以下だったときは、レジスタ
“- も使われる。 Note: これらの文字はマップ可能である。例: % は matchit プラ
グインによってマップされている。
削除や変更が行われるたびに、レジスタ 1 の内容はレジスタ 2 に、レジスタ 2 の内
容はレジスタ 3 に、という風にずれていく。レジスタ 9 の内容は失われる。
{Vi では番号付きレジスタの内容はファイルを変更する際に失われる。レジスタ 0 は
ない}

change – Vim日本語ドキュメント

端的に書かれていないので分かりづらいのが、Vimヘルプの難点です。

簡単にまとめると、下記の通りです。

レジスタ解説
“0コピーした文字列が格納されるレジスタ
“1 ~ “9 行削除した文字列が格納されるレジスタ。
1行以下の文字列を削除した場合は、別途 小削除用レジスタに格納される。
次に行削除コマンドを実行すると、”1レジスタから”2レジスタに内容を移して格納される。 以降は、 直前の番号レジスタの文字列が格納され、”9 以降は破棄される。
イメージ: 行削除 → “1 → “2 → “3 → … → “9 → バツ

なお、ヘルプにもある通り、レジスタを指定してして格納した場合には、これらのレジスタは使用(格納)されません。

ただ、なかなか分かりづらいので、もう少し詳しく解説します。

番号付きレジスタの仕組み

ヤンクした文字列格納レジスタ「”0」

“0レジスタのイメージ

無名レジスタにヤンク(コピー)した場合、文字列が無名レジスタに格納されると同時に、”0 レジスタに格納されます。

行削除した文字列格納レジスタ「”1~”9」

“1 ~ “9 レジスタのイメージ

行削除を行って無名レジスタにヤンク(コピー)した場合、文字列が無名レジスタに格納されると同時に、”1 レジスタに格納されます。

その “1 レジスタに格納されていた文字列は “2 レジスタに移され、以降 “3 レジスタ、”4 レジスタ… と玉突きのように文字列の移動が続きます。

“9 レジスタに格納されていた文字列は破棄されて、無くなってしまいます。

つまり、行削除でヤンクした場合の無名レジスタのバックアップの役割を果たすレジスタ群ということになります。

こちらは削除した内容の履歴から文字列を挿入できるため、覚えていれば便利かもしれませんね。

このVimコマンドの補足情報

  • 利用頻度2.0
  • 便利さ2.0
  • 覚え易さ1.0

関連するVimヘルプ

Vimからは、下記のコマンドでヘルプを確認できます。

:help quote_number
:help quote0
:help quote1
:help quote2
:help quote3
:help quote4
:help quote9

ヘルプで検索するときは、通常は大文字小文字は識別されませんので、どちらでも構いません。

参考書籍

こちらの書籍が参考になります。


Vim/neovim関連の書籍で、もっとも評判が良くてバイブルと呼んでる人もいる一冊です。Vim/neovimのバージョンに依存しない沢山のTips形式で、その表題通りに「思考のスピードで編集」できるようになるノウハウが詰まっています。その高い評価は Amazon のレビューからも分かる通りです。Vimmer なら必ず一度は読んでおいて間違いありません。


こちらもVim関連の書籍で評価が高い書籍の一冊です。vim-jpで見かける上級Vimmer(Vimサポーターズ)の皆様による、Vimを実践で使ったノウハウからプラグイン関連の情報が詰まっています。日本の Vim界隈を知る上でも是非一読しておきたい一冊です。

Vim/neovim の設定ファイルやプラグインなど、Vim script に関するノウハウがいくつも詰まった一冊です。日本で Vim Script をここまで深く解説している唯一の書籍と言えます。Vim力を伸ばしたいと考えるなら、絶対に避けては通れない書籍でしょう。

プロフィール
管理人
Vim太郎

Vim力アップして、そろそろ上級 Vimmer の仲間入りしたいIT系エンジニアの端くれです。読んでくる訪問者の皆様と一緒に、Vim力を上げていくことができる記事が書ければと考えています。

\フォローする/
スポンサードリンク
関連記事