Linuxサーバー macOS

viエディタの使い方(初めての人向け、スクリーンショット付き)

エディタの操作

この記事は、viエディタを「初めて使う」、「これから使おうと思う」方向けの内容です。

viエディタとは

Linux / UNIX 系のサーバーや、Macのxterm(XQuartz)などの操作は「CUI」で行います。
CUIとは(Character User Interface)の略で、文字(Character)ベースのユーザー画面という意味です。
ちなみに、CUIに対して、WindowsやMacなどのグラフィカルでソフトウェアが複数のウィンドウ上に表示されるような画面のことを「GUI (Graphical User Interface)」と呼びます。

Linux / UNIX 系のサーバーや、Macのxterm(XQuartz)などのCUIで、テキストファイルを作成/編集する場合は、「vi (ヴイ・アイ)」というコマンドベースで操作するエディタを使用します。
viは一般的に「viエディタ」と呼ばれています。この記事でも、以降はviエディタと呼ぶことにします。

viエディタを使用する場面は、主にLinux / UNIX / MacOS のシステムの設定ファイルの編集時です。
Linux / UNIXはもちろん、MacもUNIXベースのOSであり、システムの設定ファイルのほとんどがテキストファイルになっています。
つまり、Linux / UNIX / MacOSなどの設定ファイルを編集するのにviは必須のソフトウェアであるということです。

初めてviエディタを操作する人向けに、viエディタでのテキストファイルの作成と編集の操作手順の全ステップのスクリーンショットを取りました。
まずは、この通りにviエディタを操作して、viエディタを体験してみてください。

最初は難しいと感じるかもしれませんが、できるようになります。
頑張っていきましょう!

※ 余談ですが、viの発展系のテキストエディタでVim(ヴィム)というテキストエディタもあります。viの使い方をマスターすればVimも使えるようになりますので、まずはviの使い方を理解しましょう。

viエディタのテキストファイルの作成/編集コマンド

まず、viエディタでテキストファイルを作成 / 編集する場合、viコマンドを使って次のように入力します。

vi [テキストファイル名]

[テキストファイル名]の部分が対象のファイル名になります。
現在いる場所(カレントディレクトリ)に、[テキストファイル名]という名前のファイルが存在しない場合は、viエディタはファイルを新規作成します。
[テキストファイル名]という名前のファイルが存在する場合は、viエディタはその名前のファイルを開き、編集することができます。

viエディタによるテキストファイルの作成手順

それでは、viエディタで「test.txt」という名前のテキストファイルを作って、viエディタを体験してみましょう。
その前に、念のため、カレントディレクトリにすでに「test.txt」が存在しないことを「liコマンド」で確認しておきましょう。

$ li

「test.txt」というファイルが表示されなければOKです。
それでは、「test.txt」ファイルを作成しましょう。
viコマンドを使って次のように入力します。

$ vi test.txt

コマンド入力してEnterキーを押すと、次のような画面が表示されます。

viエディタのファイル新規作成時の画面
写真:viエディタのファイル新規作成時の画面

viエディタの2種類のモード

viエディタの一番の特徴ですが、viエディタには「入力モード」と「コマンドモード」の2種類あります。
覚えておきましょう。

  • 入力モード
    テキストを入力する時に使用するモード。
  • コマンドモード
    テキストを入力する時以外に使用するモード。
    例えば、カーソルの移動、文字列の検索、文字の削除、行の削除、文字のコピー&ペースト、行のコピー&ペースト、ファイルの保存、viエディタの終了などの操作を行う、など。

コマンドモードから入力モードに切り替える

viエディタでファイルを開いた時、初期状態は「コマンドモード」です。
入力モードに変更する場合は、キーボードの「 i 」ボタンを押します。( i = insertの頭文字 )
すると次のように画面の下に「INSERT」の文字が表示されます。
これが「入力モード」になった状態です。

viエディタの入力モード時の画面
写真:viエディタの入力モード時の画面

テキストを入力する

入力モードの時は、他のエディタで入力した時と同じようにテキストを入力することができます。
「This is a pen. + 改行(Enterキー)」と入力してみましょう。
次の写真のようになります。

viエディタでテキストを入力した時の画面
写真:viエディタでテキストを入力した時の画面

コマンドモードに切り替える

入力したテキストを保存するために「コマンドモード」に切り替えます。
コマンドモードに切り替えるには、「Esc (エスケープ)」キーを押します。
すると次の写真のように、画面左下に表示されていた「INSERT」の文字が消えます(コマンドモードに切り替わった状態です)。

viエディタのコマンドモード時の画面
写真:viエディタのコマンドモード時の画面

保存して終了するコマンドを入力

viエディタで、編集内容を保存して終了するためには、コマンドモードになった状態でキーボードで「:wq」と入力します。
これは、viエディタに何かの処理をしてもらうための命令(コマンド)です。
なお、「:wq」は、「w」が書き込み(write)、「q」が終了(quit)という意味です。
これはviエディタの独自コマンドです。

その他注意点ですが、コマンドは必ず半角文字で入力してください。(たまに、うっかり全角入力して動作せずに混乱する時があるかもしれないので、念のため。)

viエディタで保存終了コマンドを入力した時の画面
写真:viエディタで保存終了コマンドを入力した時の画面

コマンドを実行し終了

「:wq」コマンドを入力してEnterキーを押すと、次の写真のような状態になります。
「test.txt 〜 written」のメッセージより、「test.txt」ファイルが書き込まれて保存されたということが確認できます。
そして、次の行に「[*****]$」という文字が表示され、viエディタが終了し、OSのコマンド入力状態に戻ってきたことが確認できます。

viエディタで保存終了コマンドを入力しEnterを押した後の画面
写真:viエディタで保存終了コマンドを入力しEnterを押した後の画面

作成したファイルの存在確認

「ls」コマンドでカレントディレクトリのファイル一覧を確認してみましょう。
「test.txt」ファイルが存在することが確認できます。

viエディタで保存終了した後にliコマンドを実行した時の画面
写真:viエディタで保存終了した後にliコマンドを実行した時の画面

以上で、viエディタによるテキストの作成が完了です。

viエディタによるテキストファイルの編集手順

次はテキストファイルの編集をしてみましょう。

ファイルのを開く(ファイルをオープンする)

先ほど作成したファイルをviコマンドを使って再び開いてみましょう。

viエディタでファイルを開くコマンドを入力する画面
写真:viエディタでファイルを開くコマンドを入力する画面

前回の入力内容を確認

ファイルを開くと、作成時に入力したテキストが確認できます。

viエディタでファイルを開いた直後の画面
写真:viエディタでファイルを開いた直後の画面

コマンドモードから入力モードに切り替えてテキストを編集(追加入力)

前述しましたが、viエディタを最初に開いた時は「コマンドモード」でしたよね?
なので、まずは「入力モード」に切り替えるため、キーボードの「 i 」ボタンを押しましょう。
画面左下に「INSERT」が表示されます。
そして、前回のテキストに続き「This is an apple. + 改行(Enterキー)」と入力してみましょう。

viエディタでファイルを開きテキストを追加した時の画面
写真:viエディタでファイルを開きテキストを追加した時の画面

保存して終了するコマンドを入力

テキスト入力後、保存して終了するために、キーボードの「Esc(エスケープ)」ボタンを押して「コマンドモード」に切り替えましょう。
画面左下の「INSERT」の文字が消えます。
そして、キーボードで保存&終了コマンド「:wq」を入力しましょう。

viエディタで書き込み保存コマンドを入力した時の画面
写真:viエディタで書き込み保存コマンドを入力した時の画面

コマンドを実行し終了

「text.txt 〜 written」というメッセージが表示され、保存が完了しました。
そして、次の行に「[*****]$」という文字が表示され、OSのコマンド入力画面に戻ってきたことが確認できます。

viエディタで書き込み保存し編集が終了した時の画面
写真:viエディタで書き込み保存し編集が終了した時の画面

編集したファイルの存在確認

念のため「ls」コマンドでカレントディレクトリのファイル一覧を確認してみましょう。
「test.txt」ファイルが存在することが確認できます。

カレントディレクトリのファイル一覧を表示した時の画面
写真:カレントディレクトリのファイル一覧を表示した時の画面

以上で、viエディタによるテキストの編集が完了です。

ファイルの削除

viエディタの操作ではないのですが、念のため、作成したファイルを削除するLinuxコマンド(UNIXコマンド)を紹介しておきます。
ファイルを削除する場合は「rm」コマンド(rm = remove)を使用します。
1ファイルを削除する場合のrmコマンドの構文は次の通りです。

rm [対象ファイル名]

rmコマンドを使用する時の注意点ですが、ファイルを削除すると元に戻すことができません
rmコマンドを使用する場合は、必ず本当に削除して良いのか冷静になって考えた上で、実行してください。

ファイル削除コマンドの入力

それでは、削除コマンド(rmコマンド)を入力しましょう。
その前に「ls」コマンドを入力し、カレントディレクトリに削除対象ファイル「test.txt」が存在することを確認してください。
そして、前述のコマンドの構文を参考に「rm test.txt」と入力してください。

ファイル削除コマンド(rmコマンド)を入力した時の画面
写真:ファイル削除コマンド(rmコマンド)を入力した時の画面

ファイル削除コマンドの実行

コマンドを入力し、Enterキーを押すと、ファイル削除が実行されます。

ファイル削除コマンド(rmコマンド)を実行した時の画面
写真:ファイル削除コマンド(rmコマンド)を実行した時の画面

※使用しているサーバー環境によっては、次のように本当にファイルを削除して良いかを確認するメッセージが表示されます。

rm: remove regular file 'test.txt'?

この場合は、「y」(y = yes)を入力してEnterキーを入力しましょう。
(もし、キャンセルしたい場合は「n」 (n = no)を入力します。)

ファイルが削除されたことの確認

「ls」コマンドを入力して、ファイルが削除されたことを確認しましょう。
次のように「test.txt」ファイルが表示されていなければ、ファイルが削除されています。

ファイル削除コマンド実行後、カレントディレクトリのファイルが削除されたことを確認した時の画面
写真:ファイル削除コマンド実行後、カレントディレクトリのファイルが削除されたことを確認した時の画面

以上で、ファイルの削除が完了です。

まとめ

以上は、viエディタを初めて触る人向けの内容でした。
次回は、viエディタの基本操作について説明します。

viエディタの使い方 〜 全記事一覧 〜

-Linuxサーバー, macOS
-, ,

Copyright© ハッピー・プログラミング・ライフ , 2020 All Rights Reserved.