vimとは
vimは、CUIベースのテキストエディタである。
状況に応じてモードを切り替えながら、高速にテキストを編集することができる。
vimコマンドのモードと操作方法を説明する。
モードの種類
vimエディタには、以下のモードの種類がある。
各モードの操作方法は後述する。
- ・ノーマルモード
- カーソルの移動、テキストのコピー/カット/ペーストができる。
- ・入力モード
- テキストの入力/編集ができる。
- ・コマンドモード
- 入力されたコマンドに応じ、ファイルの保存やテキストの置換ができる。
- ・ビジュアルモード
- テキストの範囲選択ができる。
- ・検索モード
- 任意の文字列を検索することができる。
vimエディタ起動
下記のコマンドでvimを起動する。vim {ファイル名}
入力した名前のファイルがない場合は、新規作成される。
モードの切り替え
vimコマンドを実行すると、ノーマルモードでファイルが開かれる。
他のモードへの切り替えは、必ずノーマルモードから切り替えをする必要がある。
以下、ノーマルモードから他のモードへの切り替え方法である。
切り替え先のモード | キー |
---|---|
入力モード | i |
コマンドモード | : |
ビジュアルモード | v V CTRL + v |
検索モード | / * # |
他のモードからノーマルモードに戻るときは、ESC
キーを押す。
各モードの操作方法
1. ノーマルモード
ノーマルモードでは、カーソルの移動、テキストのコピー/カット/ペーストができる。
カーソルの移動
gg
: 先頭へ移動G
: 後尾へ移動[数字]G
: 指定した数字の行へ移動CTRL + f
/CTRL + b
: 画面単位の移動w
/b
: 単語単位の移動^
: 行頭へ移動$
: 行末へ移動
テキストのコピー/カット/ペースト
dd
: 1行をカット(削除)[数字]dd
: 数字分の行をカットyy
: 1行をコピー[数字]dd
: 数字分の行をコピーp
: 貼り付け
操作の取り消しなど
u
: 1つ前の操作を取り消しCTRL + r
: 1つ先の操作に進む
その他の便利な機能
.
: 直前の操作を繰り返すCTRL + n
: 補完機能
2. インサートモード
i
キーで、入力モードに切り替えする。
このモードは、テキストの入力ができる。
3. コマンドモード
:
キーで、コマンドモードに切り替えする。
このモードでは、入力されたコマンドに応じ、ファイルの保存、テキストの置換ができる。
ファイル操作
w
: 保存w [ファイル名]
: 名前を付けて保存q
: vimエディタ終了q!
: 変更内容を無視してvimエディタ終了set number
: 行番号を表示set nonumber
: 行番号を非表示[数字]
: 指定した数字の行に移動
̻̻̻テキストの置換
s/[置換前の文字列]/[置換後の文字列]/g
: カーソルがある1行に対して置換%s/[置換前の文字列]/[置換後の文字列]/g
: ファイル全体に対して置換
ウィンドウの分割
sp
: 縦にウィンドウを分割vs
: 横にウィンドウを分割close
: ウィンドウを閉じるe [ファイル名]
: 指定したファイルをvimエディタで開く
4. ビジュアルモード
ビジュアルモードは、文字単位/行単位/短形単位の範囲選択ができる。
以下のキーで、ビジュアルモードへ切り替えする。
v
: 文字単位の選択V
: 行単位の選択CTRL + v
: 短形単位の選択
5. 検索モード
検索モードは、任意の文字列を検索することができる。
以下のキーで検索モードに切り替えする。
/ + 文字列
: カーソルがある位置から下方向に検索*
: カーソルがある位置の単語を下方向に検索#
: カーソルがある位置の単語を上方向に検索
その後、以下のキーで検索を継続できる。
n
: 下方向に検索N
: 上方向に検索
また、大文字小文字を区別せずに検索したい場合は、コマンドモードで以下のコマンドを実行しておく。
set ignorecase
: 大文字小文字を区別しないset noignorecase
: 大文字小文字を区別する