最低限のviエディタの使い方まとめです。
Windowsの慣れた操作との対応表を作りました。良ければこちらもご覧ください↓↓
編集モードとコマンドモードがある
viエディタにはテキストを編集できる編集モードと、コマンドを実行するコマンドモードがあります。
編集モードの状態では保存やエディタの終了ができません。例えば、ファイルを開いて編集→エディタを閉じる操作の場合は、
- コンソールからファイルを開く
- 編集モードに移行
- テキストの編集
- コマンドモードに移行
- 終了コマンド
でようやく編集が完了します。独特のコマンドや操作感なので、頑張って慣れましょう。
コマンドモード→編集モードに切り替え
Aキーを押す。左下に-- INSERT --
と表示されます。
編集モード→コマンドモードに切り替え
Escキーを押す。 左下の-- INSERT --
という表示 が消えます。コマンドを入力できる状態になりました。入力した文字は左下に表示されます。
コマンドの基本
コマンドには2つの種類があります。
- コマンドを入力した瞬間に実行されるもの
選択・コピー・ペーストなど、コマンド自体が短く(数文字)使用頻度が高いコマンドです。 - コマンドを入力してエンターキーを押して実行されるもの
削除(文字単位/単語単位/行単位)や終了(変更を保存/破棄)など、オプションが付随します。コマンドの先頭には:(コロン)が付きます。
いずれもコマンドモードに移行して、初めて入力可能になります。
終了・保存
何もしないでエディタを終了(編集なし)
:q (コロン + q)
観覧だけしてviエディタを終了します。編集していた場合、閉じることができないので2.のコマンドを使用します。
保存せずにエディタを終了(編集してしまった場合)
:q!(コロン + q + !)
保存せずに終了します。 観覧だけのつもりが、ファイルを編集してしまった場合 など。
保存
:w(コロン + w)
ファイルを保存します。Windowsで言うところのctrl+sですね。
上書き保存して終了
:qw(コロン + q + w)
ファイルを上書きした後にviエディタを終了します。:qと:wの組み合わせです。
削除
コマンドモードで削除を実行しますが、:(コロン)の入力は不要です。編集モードからは、Escキーを押してコマンドモードに移行してから入力します。
1.一行削除
dd(d + d)
改行を含め、1行丸ごと削除されます。二つ目のdを押したタイミングで削除が実行されます。
2.行末まで削除
😀 (コロン +shift + d)
行の末尾まで削除します。:ddと異なり、改行を削除しません。
3.指定した行数削除
例えば、10行のテキストがあるとします。
1▯ 2 3 4 5 6 7 8 9 10 ~
このテキストファイルの1~5行目を削除したい場合は、カーソルを1行目に置いて次のように入力します。
5dd(5 + d + d)
6 7 8 9 10 ~
カーソルの位置から 5行が削除されました。 ちなみに、10行しかないファイルで100行削除するコマンド(100dd)を入力しても、エラーにはならず10行すべて削除してくれます。
4.全削除
:%d(コロン + % + d)
一発で全削除可能なコマンドです。警告は出ません。