トップ > 初級編 > テキストの編集 > コピー・切り取り・貼り付け >
カット&ペースト

  

切り取りと貼り付けの操作

この記事では、カット&ペーストについて説明します。 他のアプリケーションからの切り取り・貼り付けではなく、viエディタ内部での切り取りと貼り付けです

何度も説明したように、すでに解説済みの x コマンドや X(大文字) コマンド、d コマンドでの削除が『切り取り』の機能のことです。 この記事では、d コマンドでテキストを削除し、それを貼り付ける方法を説明します。

カット&ペースト
カット&ペースト

なお、この記事でも前章で作成した以下のテキストを例に操作を説明します

  1. The quick brown fox jumps over the lazy dog.
  2. Above is an English-language pangram phrase.
 

カット&ペースト

まずは、削除から説明します。 x コマンドや X(大文字) コマンド、d コマンドはすでに説明済みですが、念のためここでも解説しておきます。

 

x コマンドでは、文字カーソルの位置にある1文字が削除されます。 ただし、コマンドの前に回数指定することで、複数の文字をまとめて削除することもできます。 例えば、6x とすれば6文字が削除されます。

 

X(大文字) コマンドでは、文字カーソルの位置の前にある1文字が削除されます。 もちろん、13X のように回数指定することもできます。

 

d コマンドは、後ろに指定した移動コマンドの移動先までが削除されます。 例えば、d$ なら文字カーソルの位置から行末までが削除されます。

では実際に削除してみましょう。

文字カーソルは文書の先頭にある
文字カーソルは文書の先頭にある

上図のように文字カーソルは文書の先頭にあると仮定して説明を始めます

ここでは、4単語を削除してみましょう。 つまり、"The quick brown fox " を削除します。

キーボードから 4dw を入力してください。

4dw
The quick brown foxが削除される
The quick brown foxが削除される

上図のようにテキスト "The quick brown fox " が削除されます

  
この時点でレジスタの中には、削除された "The quick brown fox " が格納されています
  
レジスタを指定していないため標準レジスタが使用されます。

続いて、貼り付けを行います。 今回は貼り付け先は2行目の行頭としますので、まずは2行目の行頭に移動しましょう。

キーボードから j を入力してください。

j
2行目の行頭に移動
2行目の行頭に移動

上図のように2行目の行頭に移動します

では、削除したテキストを貼り付けてみましょう。 ただし、前の記事で紹介した p コマンドは使えません

p コマンドでは、文字カーソルの位置の後ろへの貼り付けが行われます。 今回は、文字カーソルの位置へ貼り付けますので、p コマンドは使えません。

文字カーソルの位置への貼り付けは、P(大文字) コマンドを使います。

 

では、貼り付けます。 キーボードから P を入力してください。

  
P は英大文字の ピー です。
P
2行目の行頭にテキストが貼り付けられる
2行目の行頭にテキストが貼り付けられる

上図のように文字カーソルの位置に "The quick brown fox " が貼り付けられました

x コマンドや X(大文字) コマンドでも同様

今回は、d コマンドでの削除を例にカット&ペーストの操作を説明しましたが、x コマンドや X(大文字) コマンドについても同様の操作でカット&ペーストが行えます

  
例えば "dog" を間違えて "dgo" と入力してしまった場合には、gの上に移動し、キーボードから xp と入力することで訂正することができます。 x コマンドによって "g" が削除され、標準レジスタに格納されます。 続く p コマンドによって、標準レジスタの内容 "g" が文字カーソルの後ろに貼り付けられます。
  
  

まとめ

x コマンドで、文字カーソルの位置にある文字を削除します。 また、X(大文字) コマンドで、文字カーソルの位置の前にある文字を削除します。

d コマンドで、削除を開始します。 削除する範囲は、後ろに続く移動コマンドの移動先までとなります。

P(大文字) コマンドでレジスタの中身を文字カーソルの位置に貼り付けることができます。

コマンド 説明
x 文字を削除する
(文字カーソルの位置にある1文字を削除)
X
(大文字)
文字を削除する
(文字カーソルの位置の前にある1文字を削除)
d<範囲指定> 文字を削除する
(文字カーソルの位置から指定された範囲まで)
P
(大文字)
レジスタの中身を貼り付ける
(貼り付け位置は文字カーソルの位置となる)
メニュー