Vimのヤンクとペースト — y, p, P, とペーストレジスタ

Vimでのコピー&ペーストをマスター:ヤンク(y)、プット(p/P)、番号付き/名前付きレジスタ。Vimのヤンク-削除-プットシステムが従来のコピー&ペーストとどう異なるかを理解。

Editing

詳細な説明

Vimのコピー&ペーストシステム

Vimの用語では、「ヤンク」はコピー、「プット」はペーストを意味します。重要なポイントは、d(削除)もテキストをレジスタにコピーするため、削除されたテキストもペーストできることです。

ヤンクコマンド

コマンド アクション
yy または Y 行全体をヤンク(コピー)
yw 次の単語の先頭までヤンク
ye 単語の末尾までヤンク
y$ 行末までヤンク
y0 行頭までヤンク
yiw 内側の単語をヤンク
yi" ダブルクオート内をヤンク
yip 内側の段落をヤンク
3yy 3行ヤンク

プット(ペースト)コマンド

コマンド アクション
p カーソルの後にプット(行単位の場合は現在行の下)
P カーソルの前にプット(行単位の場合は現在行の上)
gp p と同じだが、ペーストしたテキストの後にカーソルを置く
gP P と同じだが、ペーストしたテキストの後にカーソルを置く

"0 レジスタのテクニック

テキストをヤンクすると "0 レジスタに入ります。テキストを削除すると "1 から "9(削除履歴スタック)と無名レジスタ "" に入ります。

これは、テキストをヤンクしてから何かを削除した後:

  • p は削除されたテキストをペースト(無名レジスタ)
  • "0p はヤンクされたテキストをペースト(ヤンクレジスタ)

テキストをヤンクし、置換したいものを削除し、ヤンクしたテキストが失われるという一般的な問題を解決します。

システムクリップボード

コマンド アクション
"+y{motion} システムクリップボードにヤンク
"+p システムクリップボードからペースト
"*y{motion} プライマリセレクションにヤンク(Linux X11)

ユースケース

Vimで効率的にテキストをコピー、移動、並べ替える必要がある場合。システムクリップボードとの連携やVimのレジスタシステムがペーストにどう影響するかの理解を含む。

試してみる — Vim Cheat Sheet

フルツールを開く