こばりょ・ぶろぐ

実験物理専攻のゆるーい技術ブログ

Vimのコピーアンドペーストについて

今回の記事はVimの少し細かい話をします。

Vimって何?って人は以下の記事を見てください。

 

koba-ryo.hatenablog.com

ざっくりいうと操作の特殊な便利テキストエディタです!

 

Vimのカット/コピー/ペーストはどのレジスタ(a~z)を使うか指定できます。

指定の仕方は以下のように”をレジスタの前に付けることで指定します。

“{レジスタ}

(例:"a , "A:大文字で指定すると追記される。)

指定しないと無名レジスタが使用されます。

(ヤンクは無名レジスタ("")とヤンクレジスタ("0)にコピーされる)

貼り付けは”{レジスタ}p もしくは挿入モードで<Ctr-r>{レジスタ}で行います。

レジスタは1-9など、他にもあるみたいですが、僕が普段の作業で使うのは

無名レジスタと0とq(アルファベットで押し易いため)だけです。

 

ヤンクした文字をddなどで

無名レジスタを上書きしてしまったときの対処法

 

方法1:

“0pとするとヤンクレジスタからペースト出来る。

この方法が個人的には一番楽な気がします。)

 

方法2:

最初から”ayiwなどで無名レジスタではないところにコピーして、”apで貼り付ける

 

方法3:

ブラックホールレジスタを使って削除する(”_dd)

ブラックホールレジスタはカットではなく削除のために

dコマンドを使いたいときに便利

 

 

実際の活用場面:

下のsomethingInTheWayをcollection に変更 

collection = getCollection();

process(somethingInTheWay, target);

 

キーストローク

yiw(1単語コピー

 jww(カーソル移動)

diw(1単語カット後に挿入モード)

"0P(ヤンクレジスタをカーソルの前にペースト)

f:id:koba_ryo:20210204003152g:plain