レジスタ
無名レジスタ ""
削除、コピーされたテキストが入っている
d, c, s, x や y など
他のレジスタが指定されていたとしても、無名レジスタにも入る
例えば、"ay とした場合、 "a と "" に コピー したテキストが格納される
ということは、無名レジスタ = 最後に使ったレジスタ
p や P でレジスタを指定しなかった場合、無名レジスタのテキストが貼り付けられる
"" に格納された場合、"0 にも同じテキストが格納される
以下のコマンドを実行すると、"" と "0 に hello が格納された
code:vim
:let @@ = 'hello'
消去専用レジスタ "_
無名レジスタにもどのレジスタにも格納しない
書き込み専用のため、"_p しても何も貼り付けられない
番号付きレジスタ "0 ~ "9
"0
最後にコピーしたテキストが格納されている
レジスタが指定されなかった場合のみ、"0 に格納される
例えば、"ay とした場合、"a には コピーしたテキストが格納されるが、"0 のテキストは更新されない
"1
最後に削除、変更したテキストが格納されている
1行以下(改行を含まない)だった場合、格納されない
小削除用レジスタ "- に格納される
"2 ~ "9
削除、変更が行われるたびに、"1 のテキストは "2 、"2 のテキストは "3 ... のように1つずつずれていく
小削除用レジスタ "-
削除、変更したテキストが格納される
1行未満の場合のみ、格納される
挿入レジスタ ".
最後に挿入されたテキストが格納されている
コマンドラインの <C-R>. とした場合、貼り付けというよりも挿入されるような感じになる
Read only
カレントファイルレジスタ "%
カレントファイル名が格納されている
Read only
コマンドラインレジスタ ":
コマンドラインで実行した最後のコマンドが格納されている
最後に実行したコマンドを実行したい場合、@: をノーマルモードで実行すればいい
キーマッピングのみでコマンドの実行が行われた場合、": には格納されない
Read only
代替ファイルレジスタ "#
カレントウィンドウの代替ファイルの名前を格納する
よくわからない...
Expression レジスタ "=
何も入力せずに <CR> が押されたときは、前回の式が使われる
読み書き可能
選択範囲レジスタ "* "+ "~
GUIで選択したテキストが格納されている
Windows の場合、"* と "+ の区別はない
#TODO 選択範囲を "* に格納しないようにしたい... table:レジスタ
コマンド "" "0 a "1 "-
y o o x x x
"ay o x o x x
"ad o x o x x
d o x x (o) (o)
"1 は改行があった場合のみ、格納される
"- は1行未満だった場合のみ、格納される
関連