Linuxサーバー macOS

viエディタの使い方(基本操作)

エディタの操作

viエディタの基本操作について説明します。
この説明は、viエディタによるテキストファイルの作成、編集、削除は理解していることを前提としています。
もし、viエディタが初めて、まだ作成、編集、削除について理解していないという方は、まずは別記事「viエディタの使い方(初めての人向け、スクリーンショット付き)」をご覧ください。

viエディタの起動の仕方

viエディタは、Linux / UNIXや、Macのxterm (XQuartz)などのCUI画面(コマンドを入力して操作する画面)で、viエディタ起動のコマンド「vi」を使用することで起動できます。
コマンドの構文は次の通りです。

$ vi [ファイル名]

例えば、「test.txt」というファイルを作成 / 編集するためにviエディタを起動する場合は、次のようにコマンド入力します。

$ vi test.txt

viエディタを操作する時の基本知識

viエディタには「入力モード」と「コマンドモード」という2種類の状態があります。
入力モードとコマンドモードを都度切り替えて作業を行います。

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

操作時のポイントですが、現在入力モードかコマンドモードか分からなくなった時は、「Esc(エスケープ)ボタンを押せば必ずコマンドモードになる」ということです。
混乱した時は、Escボタンを押してスタートに戻りましょう。

入力モードとコマンドモードの切り替え

入力モードとコマンドモードの切り替えは、次のボタンを押すことでできます。

切り替え方向 ボタン 説明
コマンドモード → 入力モード i カーソルの位置から文字を入力
I (Shift + i) カーソルのある行の行頭から文字を入力
a カーソルの右から文字を入力
A (Shift + a) カーソルのある行の行末から文字を入力
o カーソルのある行の次の行頭から文字を入力
O (Shift + o) カーソルのある行の前の行頭から文字を入力
入力モード → コマンドモード Esc コマンドモードに切り替える

全て覚える必要はなく、最低限「I」と「O」の操作だけ覚えておけばOKです。

カーソルの移動

viエディタを入力モードにすると、現在入力しようとしている場所に半角文字サイズの長方形が表示されます。
これが、viエディタの「カーソル」です (WindowsやMacのGUI画面のエディタでもカーソルは表示されるのでご存知かと思いますが)。

viエディタのカーソル
写真:viエディタのカーソル

viエディタは、CUIですので、カーソルの移動はマウスやトラックパッドで操作せず、キーボードで行います。
viエディタのカーソルを移動するためのキーボードのボタンは次の通りです。

操作の種類 コマンド 説明
1文字分の移動 h 左に移動
j 下に移動
k 上に移動
l 右に移動
行内での移動 0 (ゼロ) 行頭に移動
$ 行末に移動
指定した行に移動 数字 + G 入力した行数(数字)に移動
例えば、23行目に移動したい場合は「23G」と入力
1行目に移動したい場合は「1G」と入力
G 最終行へ移動

豆知識:viエディタで行番号を表示する方法

viエディタでは、コマンドモード時に「:set number」コマンドを入力すると、左端に行番号を表示することができます。

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

viエディタで行番号を表示した時
写真:viエディタで行番号を表示した時

行番号を非表示にしたい場合は、コマンドモード時に「:set nonu」コマンドを入力すれば行番号が消えます。
(たぶん、nonu = no number の意味なんじゃないかと。)

viエディタで行番号を非表示にした時
写真:viエディタで行番号を非表示にした時

テキストのコピーと貼り付けと削除

文章が入力でき、カーソルの位置も自由に移動できるようになったら、次はテキストのコピー、貼り付け、削除も知りた区なると思います。
ということで、表にまとめました。
これらの操作は「コマンドモード」で行います。

操作の種類 コマンド 説明
コピー yy カーソルのある1行をコピー
数字 + yy カーソルのある行から指定した行数(数字)分だけコピー
貼り付け p カーソルの右側から後ろに向けてコピーした内容を貼り付け
削除 x 1文字削除
dd 1行削除

ファイルの保存とviエディタの終了

最後に、作成/編集したファイルの保存とviエディタの終了方法について表にまとめます。
これらの操作は「コマンドモード」で行います。

コマンド 説明
:w 保存
:w [ファイル名] 指定したファイル名で保存
:q 終了(保存しない)
:wq 保存して終了
:wq [ファイル名] 指定したファイル名で保存して終了
:q! 強制終了(保存しない)
例えば、テキストファイルを編集後、その内容を保存したくない場合、「:q」コマンドでは終了できない(警告が表示され)。
「:q!」コマンドを使うことで、編集内容を保存せずに終了することができる。

まとめ

今回はviエディタの基本的な操作について説明しました。いかがでしたでしょうか?
viエディタの操作はまだ他にもいろいろあります。
ただ、今回紹介したコマンドさえ知っておけば、実際のITエンジニア(プログラマーやネットワークエンジニア)がする作業に事足ります。
つまり、これらの操作ができるようになれば、あなたもviエディタの現役ITエンジニアレベルです。
viエディタは、ITエンジニアの基本的な知識として習得しておきましょう。

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

-Linuxサーバー, macOS
-, , , ,

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