Vimエディタの初心者が戸惑う点はまずVimには多くの種類の「モード」が存在することではないでしょうか。テキストを追加するにもまずはモードの切替えが必要なのがVimエディタです。
この記事では、Vimエディタでよく使用するモードの種類と切り替え方法についてご紹介します。Vimエディタのバージョンは8.1を利用しています。
この記事の内容
モードの種類
Vimエディタには基本形だけでも7つのモードがあります。
ノーマルモード
Vimエディタの最も基本的なモードです。Vimを起動した直後はこのモードです。
ノーマルモードは、カーソルの移動やコピー・ペースト系のコマンドが使えます。
また、基本的にノーマルモードから他モードへの切り替えを行います。
コマンドラインモード
Exコマンド(「:」から始まるコマンド)や検索機能が利用できるモードです。
Vimエディタで最初に覚えるコマンドが「:w」や「:q」などであるため意識していない初心者の方も多いと思いますがこれらもExコマンドです。
同じ削除機能でもノーマルモードでは「d」(一文字削除)であるのに対し、コマンドラインモードでは「:%d」(全文削除)のようにできることが大幅に増えるのがポイントです。
インサートモード(挿入モード)
挿入や削除などテキストの編集ができるモードです。
文字入力やインデントの調整は、基本的にインサートモードで行います。他のメモ帳などのエディタに最も近い形がこれでしょう。
ビジュアルモード
ビジュアルモードの一番の特徴は、テキストを範囲選択できる機能がある点です。ビジュアルモードには、3つのモードがあります。
- ビジュアルモード(文字選択): 1文字単位で範囲を選択できる
- ビジュアルモード(行選択): 1行単位で範囲を選択できる
- ビジュアルモード(短形選択): ブロック単位で範囲を選択できる
派生形として行選択のビジュアルモード、矩形選択のビジュアルモードもあるので一緒に覚えておくと便利です。
ターミナルモード
Vimと並行してターミナルを起動するモードです。
Vimの管理下にターミナルを置くことで、表示結果やログからのコピペを簡単にしたり、動作確認用のサーバやGitなどを即座に切り替えて操作できるようになります。
その他のモード
上記の派生形や利用頻度の少ないモードは省略しています。モードについてより詳しく知りたい場合は、Vimエディタの公式ドキュメントを参考にして下さい。
モードの切り替え方法
Vimエディタの起動直後はノーマルモードの状態です。Vimではモードを切り替えながらファイルを編集します。
モードの切替は、基本的にノーマルモードから各モードに切り替えます。その後、切り替えたモードの必要がなくなったら再度ノーマルモードに戻る操作を繰り返します。
そのため、「ノーマルモード → 各モード」と「各モード → ノーマルモード」の切り替え方法の一例を紹介します。
ノーマルモードから各モードに切り替える
ノーマルモードから各モードに切り替える場合は、次のコマンドを使います。
モード名 | コマンド |
---|---|
コマンドラインモード | 「:」、「/」 |
インサートモード | 「i」 |
ビジュアルモード | 「v」 |
行選択ビジュアルモード | 「Shift」 + 「v」 |
矩形選択ビジュアルモード | 「Ctrl」 + 「v」 |
ターミナルモード | 「:term」 |
各モードからノーマルモードに再度切り替える
各モードからノーマルモードに切り替える方法は、次のとおりです。
- コマンドライン/インサート/各種ビジュアルモードの場合
- 「Esc」キーを入力することでノーマルモードへ戻ることができます。
- ターミナルモードの場合
- 「exit」などターミナルからログアウトするbashコマンドを入力します。
ターミナルモードを除き、基本的に”「Esc」キーでノーマルモードに戻る”と覚えておきましょう。
現在のモードの表示/非表示の変更方法
インサートモードやビジュアルモードの場合、最下段に現在のモードが表示されます。
現在のモードの表示は、次のコマンドで切り替えることができます。
- 現在のモードを表示する
「:set showmode」コマンドを使用します。デフォルトはこの状態です。 - 現在のモードを非表示にする
「:set noshowmode」コマンドを実行します。- 例えばビジュアルモードにしてもモードの状態が表示されません。
- vimrcに「set noshowmode」を追記することで、デフォルトでモード表示を非表示にすることもできます。
- 例えばビジュアルモードにしてもモードの状態が表示されません。
モードを非表示にすると誤ってモードを切り替えても気づきにくいため、モードは表示のままにしておく方が多いです。
以上、Vimエディタでモードの種類と切り替える方法、モード表示・非表示の変更方法でした。
コメント