viコマンドの基本(エディタ)
更新日 : 2019年09月06日
Linuxでのディレクトリ移動やディレクトリの中身を確認するコマンドなど、ディレクトリの基本操作を学んだところで、今回はLinuxに標準で実装されているvi
コマンドについて学んでいきます。
vi
コマンドはLinuxの標準のエディタです。Windowsで言うところのメモ帳です。メモ帳よりもう少し多機能で使いやすいですが、モードなどの複雑な機能が少しあるので、順番に解説していきます。
また、vi
のさらに多機能版としてvim
もあります。基本操作はどちらも変わりません。
今回説明する機能はごく一部です。あくまでファイルの編集ができるレベルの理解・かつモードなどの理解を目的とします。
viエディタの起動
まずはvi
コマンドを実行してviエディタを起動する方法を説明します。
$vi ファイル名
これで現在いるディレクトリにあるファイル名をviエディタとして起動します。指定されたファイル名が存在しない場合にはそのファイルを作成します。
lsコマンドなどと同様に、絶対パスで指定して特定の場所のファイルを作成・開くことも可能です。
viエディタの使い方
起動ができたらviエディタがコマンドモードというモードで起動します。まずはモードについて学んでいきましょう。
viエディタのモード
viエディタの起動時、コマンドモードで起動します。viエディタのモードは2種類あります。
- コマンドモード
編集以外の作業を行うモードです。移動・エディタモードへの切り替え・上書き保存・終了・特殊な削除・検索・コピー・貼り付けなど、文字を打って編集する以外の作業をコマンドモードで行います。 - エディタモード
実際にファイルに文字を挿入していく編集モードです。もちろんコマンドモードへ移行もできます。
直接文字を打って編集する以外のことをコマンドモードで行うという理解をしておけばOKです。viエディタは、すべての作業をキーボードのホームポジションで行えるように、コマンドモードとエディタモードを上手に切り替えて使えるようになっています。
文字の移動もコマンドモードで行うのが基本となっていますが、文字の移動はエディタモードでも可能です。
viエディタの基本的な使い方
それぞれのモードでの基本的な使い方を見ていきます。
滞在モード | キー | 内容 |
---|---|---|
コマンド | i | 現在のカーソルでエディタモードへ移行 |
/検索文字+Enterキー | /の右に打った文字を後方検索 | |
n | 次の検索 | |
N | 前の検索 | |
h | カーソル移動(左)←キーでも可 | |
j | カーソル移動(下)↓キーでも可 | |
k | カーソル移動(上)↑キーでも可 | |
l | カーソル移動(右)→キーでも可 | |
以下コロン(:)系のコマンドはEnterキーで実行 | ||
:w | (上書き)保存 | |
:q | viを終了 | |
:wq | 保存して終了(上2つの組合せ) | |
:q! | 強制的にviを終了 | |
エディタ | escキー | コマンドモードへ移行 |
← | カーソルを左へ移動 | |
↓ | カーソルを下へ移動 | |
↑ | カーソルを上へ移動 | |
→ | カーソルを右へ移動 |
基本的なキー操作はこれでOKです。その他コマンドは慣れたら増やして行けばいいでしょう。
コマンドモード時のカーソル移動は、キーボードのホームポジションから移動しなくてもいいように、hjkl
の4つのキーですべてまかなうことができます。慣れるまでは矢印キーで移動しても問題ありません。慣れなければ矢印キーだけでも気にしなくても大丈夫です。
エディタモード時でも矢印キーでカーソル移動ができます。viエディタに慣れていて上手な人は矢印キーは使いません。エディタモード時はキーを打てばそれが反映されます。
実際に使わないとわからない部分もあるかと思うので、基本を利用して使ってみましょう。
実際にviエディタを使ってみる
では実際に起動して試しながら使い方を学んでいきましょう。
まずは/tmp/
に移動して、vi
コマンドでtest.txt
を作成してみます。
$cd /tmp/
$vi test.txt
すると下の画像のようなまっさらな状態で新規ファイルが作成されます。
一番下にメッセージとしてtest.txt
が新規ファイルとして作成されたと表示されています。
起動直後はコマンドモードです。まずはエディタモードに切り替えて、適当に文字を打ってみましょう。i
を打ってエディタモードにします。
エディタモードに切り替わると、一番下に-- INSERT --
と表示されます。i
はインサートの略です。
エディタモードではキーを押下すると通常通りそのまま編集できます。5行ほど適当に文字を入力しておきましょう。
編集が一区切りしたところで、コマンドモードに戻ってこれを保存しておきましょう。esc
キーを押すと、-- INSERT --
の表示が消えて、コマンドモードに移行できます。
その後、内容を保存するために:w
と打ってEnterを押しましょう。これで保存処理が完了します。
このように一番下にwritten
(書き込み済み)と表示されれば上書き保存ができています。
再度編集などを行う場合にはi
でエディタモードに移行して適宜編集しましょう。
一通り編集も終わったら、viエディタを終了します。:q
と打ち、Enterでviエディタを終了できます。このとき、未保存の内容(編集後に:w
を実行していない場合)がある場合には以下のように未保存の内容がある旨の注意書きがでて終了できないので注意しましょう。
変更内容がすべて保存できている場合には:q
で終了できます。保存と終了を同時に行う場合には:wq
とまとめてコマンドを処理することができます。
終了後、ファイルが存在するかls
コマンドで確認してみましょう。
これで保存されていることが確認できました。再度編集したい場合にはvi test.txt
で起動できます。
以上で簡単な編集と上書き保存までできました。
まとめ
今回説明したviエディタは基本中の基本です。コマンドモードの表にはもっとたくさんのコマンドがありますが、一部の知っておくべきコマンドだけ表記しています。
コマンドモードと編集モードの切り替えやモードの確認をきちんと行えば、基本はそれほど難しくないので、扱えるようになっておきましょう。
タグ
-
前の記事
pwdコマンド(現在のディレクトリ確認)
-
次の記事
標準入力・標準出力とは