Hatena::Groupvim

vim and plasticity

 | 

2009-06-20

registerでも覚えるか

03:52

参考1 :help :registers

参考2 :help registers


現在のレジスタの確認

:reg[isters]


レジスタの種類

[RO]はRead Onlyのレジスタを意味する。

""Unnamed register.最後に用いられたregisterを指す
"0yankしたときに用いられるregister
"1delete,changeの際に用いられるregister
"2delete,changeの際、旧"1の値が入る
"3delete,changeの際、旧"2の値が入る
...... "4から"9まで同じ ...
"-small delete register.1行以下のdelete内容が入る
"aレジスタa。ユーザが指定しないと使われない。
"A指定すると"aに追加(append)される
...... 以下"b,"Bから"z,"Zまで同じ ...
".The last inserted text.[RO]
":The most recent executed command-line.[RO]
"%Current file name.[RO]
"#Alternate file name.[RO]
"=Expression register.計算してくれる特殊なレジスタ*1[RO]
"*X11ならMouse overした内容、またはVisual modeで選択した内容。 WindowsならClipboardの内容。
"+X11ならClipboardの内容。Windowsなら"*と同じ。
"~Drag and dropの際に用いられる[RO]
"_Black hole register.何も起こらない。

レジスタに書き込む

"0から"9はyank,delete,changeの際にVimが放り込んでいくけど、"a-"z,"A-"Zは指定しないと使われない。特定のレジスタに書き込むには、yy,dd,cc,etc.の前にレジスタを指定すれば良い。

"aに書き込むには、

"add

などとすればいい。

数字レジスタに書き込むことも出来る。あんまり意味なさそうだけど。


Clipboardに書き込むなら、

"+yy

とか。


レジスタの読み込み

Insert mode, Command-line modeにて、<C-R>の後にレジスタをDouble quote(")無しで指定する。

つまり"aの内容を読み込むには、

<C-R>a

と押す。

もしくはNormal modeでレジスタを指定してpaste,

"ap

としてもいい。

*1:Reference :help "=

 |