基本操作
- カーソルの移動はhjkl(左下上右)で行う
- vimの起動は vim {ファイル名}
- vimの終了
- 変更を破棄 :q!
- 変更を保存 :wq
- 変更を破棄 :q!
- テキストの追加
- i/I 挿入モード/行末から挿入モード
- a/A 追加モード/行頭から追加モード
- o/O 下の行を追加して挿入モード/上の業を追加して挿入モード
- 操作の取り消し
- 前回の操作を取り消し u
- 行全体の操作を取り消し U
- 取り消し操作の取り消し CTRL-R
キーを押すとノーマルモードに戻る - 文字の削除 x
- 削除/ヤンクはそれぞれ対象をレジスタに格納する
- レジスタに登録されている文字列をカーソルの後に挿入
行単位で格納されている場合はカーソル行の次の行に挿入 - カーソルの下の文字を置き換え r
- 検索
- / の後に語句をタイプすると前方に語句を検索
- ? の後に語句をタイプすると後方に語句を検索
- 検索後のカーソル
- nは同じ方向の次の検索
- Nは逆方向の検索
- 文字列の置換
- 現在行の最初の old を new に置換する :s/old/new
- 現在行の全ての old を new に置換する :s/old/new/g
- 2つの # 間で語句を置換する :#,#s/old/new/g
- ファイルの中の全ての検索語句を置換する %s/old/new/g
- 'c' を加えると置換の度に確認を求める :%s/old/new/g
- (,),[,],{, もしくは } 上にカーソルがある状態で % をタイプすると対になる文字へ移動
- :!command によってOSの外部コマンドを実行
- :r ファイル名で、指定したファイルの内容がカーソル位置に挿入される
- vを押すとVisualモードになり、カーソルを動かすことで、選択範囲を変更することができる
選択範囲に対してオペレータを入力することで適用できる(dで範囲削除など) - コマンドで記載するモーションはノーマルモードで入力したとき対応した場所へカーソルをジャンプさせる
- ":set xxx" とタイプするとオプション "xxx" が設定される。
- ic 検索時に大文字小文字の区別しない
- noic 検索時に大文字小文字の区別する
- nu ファイルの行数を表示
- nonu ファイルの行数を非表示
vimのコマンド
- vimのコマンドは オペレータ [数値] モーション
- オペレータ 削除を示すdなどのコマンド
- 数値 その操作を何回繰り返すか(任意)
- モーション w(単語) $(行末) などの、コマンドを適用する範囲
例)
カーソル位置から単語の末尾までを削除 dw
カーソル位置から行の末尾までを削除 d$
行全体の削除 dd
- オペレータ
- d : 削除
- y : ヤンク(コピー)
- c : 変更
- モーション
- 0 : 行頭
- $ : 行末
- w : カーソル位置から空白を含む単語の末尾
- e : カーソル位置から空白を含まない単語の末尾
- G : ファイルの最終行
- 数値G : カーソル行から数値で指定した行までの範囲指定
- gg : ファイルの先頭行