基本的な vi コマンド

以下のセクションでは、vi コマンドの次のカテゴリについて説明します。

  • ファイル内での移動

  • テキストの挿入

  • テキストの変更と置換

  • テキストへの変更の取り消し

  • テキストの削除

    li

  • スペルチェック

  • ファイル出力のフォーマット

  • コマンドの繰り返し

ファイル内での移動

これまでのセクションでは、viを作成、保存、印刷、終了する方法を学びました。 ファイルを作成、保存、印刷、および終了する方法を学びました。 ファイルを作成した後は、ファイル内を移動するために必要な概念を理解する必要があります。 今すぐ練習用のファイルを開き、このセクションで説明する各コマンドを試してみてください。

カーソルの移動

vi を起動すると、カーソルは vi 画面の左上隅にあります。 コマンドモードでは、いくつかのキーボードコマンドでカーソルを動かすことができます。 コマンドモードでは、特定の文字キー、矢印キー、Returnキー、Back Space(またはDelete)キー、Space Barを使ってカーソルを動かすことができます。

注 –

ほとんどのviコマンドは、大文字と小文字を区別します。 同じコマンドを小文字で入力した場合と大文字で入力した場合では、効果が異なる場合があります。

矢印キーでの移動

お使いのマシンに矢印キーが装備されている場合は、これらを試してみてください。 上下左右の矢印キーの組み合わせで、画面上でカーソルを自由に動かすことができるはずです。 ただし、カーソルを移動できるのは、すでにあるテキストや入力スペースの上だけです。

リモートターミナルからviを使用している場合、矢印キーが正しく動作しないことがあります。 矢印キーの動作は、お使いのターミナルエミュレータに依存します。

  • 左に移動するには、h を押します。

  • 右に移動するには、l を押します。

  • 下に移動するには、j を押します。

  • 上に移動するには、k を押します。

1単語の移動

w (“word”)を押すと、カーソルを1単語ずつ右に移動させることができます。

b (“back”)を押すと、カーソルが一度に一語ずつ左に移動します。

WまたはBを押すと、カーソルが隣の句読点を越えて次または前の空白に移動します。

e (“end”)を押すと、カーソルが現在の単語の最後の文字に移動します。

行頭または行末への移動

^を押すと、カーソルが現在の行の先頭に移動します。

$を押すと、カーソルが現在の行の終わりに移動します。

下の行に移動する

Returnキーを押すと、カーソルが次の行の先頭に移動します。

Moving Left

Back Spaceキーを押すと、カーソルが1文字左に移動します。

Moving Right

スペースバーを押すと、カーソルが1文字右に移動します。

トップへの移動

H (“high”)を押すと、カーソルが画面の一番上に移動します。

Moving to the Middle

M (“middle”)を押すと、カーソルが画面の中央に移動します。

Moving to the Bottom

L (“low”)を押すと、カーソルが画面の下部に移動します。

ページングとスクロール

カーソルが画面の下にあるときに下に移動したり、カーソルが画面の上にあるときに上に移動すると、テキストが上下にスクロールするのがわかります。 このスクロールは、短いファイルではより多くのテキストを表示するのに有効な方法ですが、長いファイルではこの方法で移動するのは面倒なことです。

ページ送りやスクロールは、一度に一つのファイル、一つの画面、一つの半画面に対して行うことができます。

ページングとスクロールは根本的に違うことに注意してください。

ページングとスクロールは根本的に違うものです。 ページングは、一度に一画面分のテキストの中でカーソルを上下に動かします。 高速なシステムでは、この違いに気づかないかもしれません。

1 画面分のページ送り

1 画面分のページ送り (下方向) をするには、Ctrl-F を押します。 (Control キーを押しながら F キーを押します。) カーソルは新しい画面の左上に移動します。

画面を2分の1ずつ進める

画面を2分の1ずつ進めるには、Ctrl-Dを押します。

1画面戻る

1画面分後ろにスクロール(つまり上に移動)するには、Ctrl-Bを押します。

2分の1画面を後方にスクロール

2分の1画面を後方にスクロールするには、Ctrl-Uを押します。

テキストの挿入

vi には、テキストを挿入するための多くのコマンドが用意されています。 このセクションでは、これらのコマンドのうち最も便利なものを紹介します。 なお、これらのコマンドはいずれも vi を入力モードにします。 これらのコマンドを使用するには、まずコマンドモードになっていなければなりません。 コマンドモードであることを確認するために、Escを押すことを忘れないでください。

Append

カーソルの右側にテキストを挿入するには、a (append) と入力します。 行の任意の場所にカーソルを移動させ、a と入力し、その後に追加したいテキストを入力して試してみてください。 終了したら Esc を押してください。

Aと入力すると、行末にテキストが追加されます。 このコマンドの動作を確認するには、テキスト行の任意の場所にカーソルを置き、Aと入力します。カーソルは行末に移動し、追加したいテキストを入力できます。 入力が終わったらEscキーを押します。

挿入

コマンド モードで i と入力して、カーソルの左側にテキストを挿入します。

行の先頭にテキストを挿入するには、I と入力します。 このコマンドは、カーソルをその行の任意の位置から移動させます。 目的のテキストを入力した後、Escを押すとコマンドモードに戻ります。

行を開く

これらのコマンドを使用して、現在のカーソル位置の上または下に新しい行を開きます。

現在のカーソル位置より下の行を開くには、o と入力します。 試しに、o の後にテキストを入力してみてください。 必要に応じて、数行のテキストを入力することもできます。 入力が終わったらEscキーを押します。

O を入力すると、現在のカーソル位置より上の行が表示されます。

テキストの変更

テキストの変更では、テキストのある部分を別の部分に置き換えることができます。

単語の変更

単語を置き換えるには、置き換えたい単語の先頭にカーソルを置きます。 cw」と入力し、続いて新しい単語を入力します。 終了するには、Esc を押します。

単語の一部を変更するには、保存したい部分の右側の単語にカーソルを置きます。

行の変更

行を置き換えるには、行の任意の位置にカーソルを置き、ccと入力します。 行が消え、新しいテキスト (長さは自由) のための空白行ができます。 Escキーを押して終了です。

文字の置換

カーソルの下の文字を1文字以上置換するには、s と入力し、続いて新しいテキストを入力します。 Escを押して、コマンドモードに戻ります。

1文字の置き換え

このコマンドは、カーソルで強調表示されている文字を別の文字に置き換えるために使います。 カーソルを文字の上に置き、「r」と入力し、続いて置換する文字を1文字だけ入力します。 置換後、vi は自動的にコマンド モードに戻ります (Esc を押す必要はありません)。

変更の取り消し

テキストを編集して vi ファイルに変更を加えたときに、何かを変更しなければよかったと思うことがあります。

直前のコマンドを取り消す

viでミスをしたり、操作が完了した後に気が変わったりした場合、コマンドの直後にuを押すことで直前のコマンドを取り消すことができます。 uを押した後にEscを押す必要はありません。2回目にuを押すとアンドゥが解除されます。

行の変更を元に戻す

U を入力すると、行に加えた変更をすべて元に戻すことができます。 このコマンドは、カーソルを行の外に移動していない場合にのみ動作します。

テキストの削除

これらの vi コマンドは、指定した文字、単語、または行を削除します。vi はコマンド モードのままなので、それ以降のテキストの挿入には、入力モードに入るための追加のコマンドが必要です。

1文字の削除

1文字を削除するには、削除したい文字の上にカーソルを置き、xと入力します。

xコマンドは、文字が占めていたスペースも削除します。 また,xコマンドは,行内の空白を削除することもできます。

カーソルの前(左)の1文字を削除するには、X(大文字)と入力します。

単語や単語の一部を削除する

単語を削除するには、カーソルを単語の先頭に置き、dwと入力します。 その単語とその単語が占めていたスペースが削除されます。

単語の一部を削除するには、保存したい部分の右側の単語にカーソルを置きます。

行の削除

行を削除するには、行の任意の位置にカーソルを置き、dd と入力します。 その行と、その行が占めていたスペースが削除されます。

テキストのコピーと移動 – Yank, Delete, and Put

多くのワード プロセッサでは、テキストの行を「コピー アンド ペースト」および「カット アンド ペースト」することができます。 vi エディタにもこれらの機能があります。 vi のコマンド モードで「コピー アンド ペースト」に相当するのは、「ヤンク アンド プット」です。 cut and paste」に相当するのは「delete and put」です。

vi で小さなテキスト ブロックをコピーまたは移動する方法は、yank、delete、put コマンドを組み合わせて使用します。

行のコピー

行のコピーには、yy または Y (“yank”) と p (“put below”) または P (“put above”) の 2 つのコマンドが必要です。 なお、Yはyyと同じことをします。

1行をヤンクするには、次の手順に従います。

  1. カーソルをヤンクしたい行の任意の位置に置きます。

  2. yy と入力します。

  3. カーソルを、ヤンクした行を置きたい(コピーしたい)上の行に移動します。

    ヤンクされた行のコピーがカーソルの下の新しい行に表示されます。

    ヤンクされた行をカーソルの上の新しい行に配置するには、P と入力します。

yy コマンドはカウントとの相性がよく、たとえば 11 行ヤンクするには、11yy と入力します。 カーソルから数えて11行がyankされ、viは画面の下にメッセージを表示してそれを示します。 11 lines yanked.

また、前述の削除コマンドの直後に、Pまたはpコマンドを使用することもできます。 この動作は、削除したテキストを、それぞれカーソルの上または下に置くものです。

注意事項 -注意事項 –

ヤンクまたは削除とプットの間には、カーソル移動のコマンドのみを使用してください。 新しいテキストを配置する前に他のテキストを削除したり、ヤンクしたりすると、ヤンクしたり削除したりした行が失われます。

行の移動

行の移動には、dd (「削除」) と p または P の 2 つのコマンドが必要です。

1 行を移動するには、カーソルを行の任意の位置に置き、dd と入力します。

次に、削除した行を再び挿入したい行の上にカーソルを移動し、pと入力します。これにより、カーソルの下の新しい行にテキストが挿入されます。

コマンドの繰り返しにカウントを使用する

多くの vi コマンドは、コマンドの前に繰り返し要素 (カウントと呼ばれる) があり、操作を何回繰り返すかを指定します。

これまでのセクションで紹介したコマンドのほとんどがカウントを取ります。 例えば、3ddは、1行を削除するコマンドを3回繰り返すので、3行を削除することになります。 2dwは2つの単語を削除し、4xは4つの文字またはスペースを削除します。 また、3wや2Ctrl-Fのように、カーソルを移動させるコマンドでもカウントを使うことができます。

ピリオド(…)をタイプすると、直前のテキスト変更コマンドが繰り返されます。

ピリオド(.)を入力すると、直前のテキスト変更コマンドが繰り返されます。例えば、ddで行を削除した後、ピリオドを入力するだけで、別の行にカーソルを移動して削除することができます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です