viコマンドの使い方|Linuxでファイルを編集する練習手順を解説

学習ロードマップ

viは、LinuxやUnix系OSで使われるテキストエディタです。

ターミナル上でファイルを開き、文字を入力したり、保存したり、終了したりできます。

この記事では、練習用ファイルを作りながら、viの基本操作を順番に解説します。

この記事で練習すること

この記事では、次の操作を練習します。

  • viでファイルを開く
  • 入力モードに切り替える
  • 文字を入力する
  • 保存して終了する
  • 保存せずに終了する
  • 文字や行を削除する
  • 検索する
  • 行番号を表示する

まずは、保存して終了できるようになることを目標にします。

練習用ファイルを作る

ターミナルを開きます。

練習用のフォルダを作ります。

mkdir vi-practice

作成したフォルダへ移動します。

cd vi-practice

この中で、practice.txtというファイルをviで開きます。

vi practice.txt

practice.txtがまだ存在しない場合でも、このコマンドで新しいファイルとして開けます。

画面が切り替わり、viの編集画面が表示されます。

入力モードに切り替える

viを開いた直後は、文字を入力するモードではありません。

文字を入力するには、iキーを押します。

i

iを押すと、入力モードになります。

入力モードになると、普通のテキストエディタのように文字を入力できます。

次の文章を入力してください。

viの練習です。
ファイルを作成しています。
保存して終了する方法を確認します。

入力できたら、次にノーマルモードへ戻ります。

ノーマルモードに戻る

入力が終わったら、Escキーを押します。

Esc

Escを押すと、入力モードからノーマルモードに戻ります。

viでは、保存や終了の操作はノーマルモードで行います。

入力が終わったら、まずEscを押すと覚えておくと操作しやすいです。

保存して終了する

入力した内容を保存してviを終了します。

ノーマルモードで、次のように入力します。

:wq

入力したら、Enterキーを押します。

:wq
Enter

:wqは、保存して終了するコマンドです。

wは保存、qは終了を意味します。

ターミナルの画面に戻れば、終了できています。

保存できたか確認する

ターミナルに戻ったら、catコマンドでファイルの中身を確認します。

cat practice.txt

次のように、先ほど入力した文章が表示されれば保存できています。

viの練習です。
ファイルを作成しています。
保存して終了する方法を確認します。

もう一度viでファイルを開く

次に、先ほど作ったpractice.txtをもう一度開きます。

vi practice.txt

ファイルの中身が表示されます。

すでに文字が入っているファイルを開いた状態になります。

文章を追加する

ファイルの最後に文章を追加します。

まず、キーボードの矢印キーで一番下の行へ移動します。

そのあと、oキーを押します。

o

oを押すと、現在の行の下に新しい行を作り、そのまま入力モードに入ります。

次の文章を追加してください。

文章を追加しました。

入力できたら、Escを押します。

Esc

保存して終了します。

:wq

Enterを押します。

保存後、catで確認します。

cat practice.txt

最後の行に「文章を追加しました。」が増えていればOKです。

保存せずに終了する練習

次に、保存せずに終了する操作を練習します。

もう一度practice.txtを開きます。

vi practice.txt

iを押して入力モードにします。

i

適当に次の文章を追加します。

この行は保存しません。

入力したら、Escを押します。

Esc

保存せずに終了するには、次のように入力します。

:q!

Enterを押します。

ターミナルに戻ったら、catで中身を確認します。

cat practice.txt

「この行は保存しません。」が表示されていなければ、保存せずに終了できています。

1文字削除する練習

次に、文字を削除する操作を練習します。

practice.txtを開きます。

vi practice.txt

矢印キーで削除したい文字の上にカーソルを移動します。

ノーマルモードの状態で、xを押します。

x

xを押すと、カーソル位置の1文字が削除されます。

削除できたら、保存して終了します。

:wq

Enterを押します。

1行削除する練習

1行まるごと削除するには、ddを使います。

practice.txtを開きます。

vi practice.txt

削除したい行へカーソルを移動します。

ノーマルモードで、次のキーを押します。

dd

ddを押すと、カーソルがある行が削除されます。

削除後、保存して終了します。

:wq

Enterを押します。

ファイルの中身を確認します。

cat practice.txt

指定した行が消えていればOKです。

元に戻す練習

間違えて文字や行を削除した場合は、uで元に戻せます。

practice.txtを開きます。

vi practice.txt

ノーマルモードで、ddを押して1行削除します。

dd

削除したあと、uを押します。

u

削除した行が戻ればOKです。

確認したら、保存せずに終了しても構いません。

:q!

Enterを押します。

検索する練習

ファイル内の文字を検索します。

practice.txtを開きます。

vi practice.txt

ノーマルモードで、/に続けて検索したい文字を入力します。

たとえば、「保存」という文字を探す場合は、次のように入力します。

/保存

Enterを押します。

検索した文字が見つかると、その場所へカーソルが移動します。

次の検索結果へ進む場合は、nを押します。

n

前の検索結果へ戻る場合は、Nを押します。

N

確認が終わったら、終了します。

:q

Enterを押します。

行番号を表示する練習

行番号を表示すると、何行目を編集しているか分かりやすくなります。

practice.txtを開きます。

vi practice.txt

ノーマルモードで、次のコマンドを入力します。

:set number

Enterを押します。

画面の左側に行番号が表示されればOKです。

行番号を消す場合は、次のコマンドを入力します。

:set nonumber

Enterを押します。

指定した行へ移動する練習

行番号を表示した状態で、指定した行へ移動してみます。

たとえば、2行目へ移動する場合は、次のように入力します。

:2

Enterを押します。

カーソルが2行目へ移動すればOKです。

エラー文で「何行目」と表示されたときに使える操作です。

コピーして貼り付ける練習

現在の行をコピーするには、yyを使います。

practice.txtを開きます。

vi practice.txt

コピーしたい行にカーソルを移動します。

ノーマルモードで、次のキーを押します。

yy

貼り付けたい場所へカーソルを移動します。

次のキーを押します。

p

カーソルの下にコピーした行が貼り付けられます。

保存する場合は、次のコマンドを入力します。

:wq

保存しない場合は、次のコマンドで終了します。

:q!

よく使うviコマンド一覧

練習で使ったviコマンドをまとめます。

操作コマンド
ファイルを開くvi ファイル名
入力モードにするi
下に新しい行を作って入力するo
ノーマルモードに戻るEsc
保存する:w
保存して終了する:wq
保存せずに終了する:q!
終了する:q
1文字削除するx
1行削除するdd
元に戻すu
検索する/検索文字列
次の検索結果へ進むn
前の検索結果へ戻るN
行番号を表示する:set number
指定した行へ移動する:行番号
1行コピーするyy
貼り付けるp

終了できないときの確認

viを終了できないときは、まずEscを押します。

Esc

保存して終了する場合は、次のコマンドを入力します。

:wq

保存しないで終了する場合は、次のコマンドを入力します。

:q!

最後にEnterを押します。

入力中かどうか分からなくなったら、まずEscを押してから終了コマンドを入力します。

まとめ

viは、ターミナル上でファイルを編集するためのエディタです。

練習では、次の流れを最初に覚えると扱いやすくなります。

  1. vi practice.txtでファイルを開く
  2. iで入力モードにする
  3. 文字を入力する
  4. Escでノーマルモードに戻る
  5. :wqで保存して終了する

保存せずに終了する場合は、Escを押してから:q!を入力します。

最初は、入力、保存、終了だけで十分です。

慣れてきたら、xddu/検索文字列:set numberも練習すると、設定ファイルやメモファイルの編集がしやすくなります。

タイトルとURLをコピーしました