Vimのコピーアンドペーストについて
今回の記事はVimの少し細かい話をします。
Vimって何?って人は以下の記事を見てください。
ざっくりいうと操作の特殊な便利テキストエディタです!
Vimのカット/コピー/ペーストはどのレジスタ(a~z)を使うか指定できます。
指定の仕方は以下のように”をレジスタの前に付けることで指定します。
“{レジスタ}
(例:"a , "A:大文字で指定すると追記される。)
指定しないと無名レジスタが使用されます。
(ヤンクは無名レジスタ("")とヤンクレジスタ("0)にコピーされる)
貼り付けは”{レジスタ}p もしくは挿入モードで<Ctr-r>{レジスタ}で行います。
レジスタは1-9など、他にもあるみたいですが、僕が普段の作業で使うのは
無名レジスタと0とq(アルファベットで押し易いため)だけです。
ヤンクした文字をddなどで
無名レジスタを上書きしてしまったときの対処法
方法1:
“0pとするとヤンクレジスタからペースト出来る。
(この方法が個人的には一番楽な気がします。)
方法2:
最初から”ayiwなどで無名レジスタではないところにコピーして、”apで貼り付ける
方法3:
dコマンドを使いたいときに便利
実際の活用場面:
下のsomethingInTheWayをcollection に変更
collection = getCollection();
process(somethingInTheWay, target);
キーストローク
yiw(1単語コピー)
jww(カーソル移動)
diw(1単語カット後に挿入モード)
"0P(ヤンクレジスタをカーソルの前にペースト)