コマンドモードと入力モード
- コマンドモード→入力モード
- i: カーソルの直前に挿入(insert)
- I: カーソル行の最初に挿入
- a: カーソルの直後に挿入(add)
- A: カーソル行の最後に挿入
- o: カーソルの下の行に挿入
- O: カーソルの上の行に挿入
- 入力モード→コマンドモード: ESC
選択
- V: 行単位の選択をするビジュアルモードに入る
- Ctrl-v: 矩形選択をするビジュアルモードに入る
移動
参考:入門】Vimで高速で移動~プラグインなしでの移動まとめ~
(ちょうど右手のホームポジション)
- h: 左
- j: 下
- k: 上
l: 右
(ページ移動)Ctrl-b: PgUp(back)
Ctrl-f: PgDn(forward)
Ctrl-u: back 半画面
Ctrl-d: forward 半画面
{ : back 段落毎に上へ
} : forward 段落毎に下へ
^: 行頭(正規表現)
$: 行末(正規表現)
(単語移動)w: 単語の先頭に進む
b: 単語の先頭に戻る
e: 単語の末尾に進む
ge: 単語の末尾に戻る
(行指定)
- Ctrl-g: 現在の行表示
- gg: ファイルの先頭に移動
- G: 最終行
- 数字G: 指定行に移動
コピー、カット、ペースト
- x: 文字削除(数指定)
- dw: 単語削除(数指定)
- dy: 単語コピー(数)
- dd: 行削除(数指定)
- yy: 行コピー(数指定)
- p: カーソルの下に貼り付け
- P: カーソル行に貼り付け)
- s: カーソル位置の文字を修正、上書き(数指定)
- J: カーソル行と次行を連結する
undo,redo
- u: 直前の作業の取り消し
- .: 直前の作業の繰り返し
検索、置換
- :/文字列: 文字列の検索(/.はエスケープが必要)
- n: 下方向への検索
- N: 上方向への検索
- :%s/文字列1/文字列2/g: ファイル内の文字列1を文字列2に置換(全箇所)
- :10,20s/before/after/g: 10~20行目の全ての"before"を"after"に置換
- :'<,'>s/before/after/g: ビジュアルモードで選択中の範囲の全ての"before"を"after"に置換
設定
- .swpファイルを生成しない。 :set noswapfile
- .swpファイルを生成する。 :set swapfile
ファイル操作
- :e ../toedit.txt: 指定したパスのファイルを開く
- :e. エクスプローラーを開く
- :w!: 保存
- :q!: 終了
- :wq!: 保存して終了
- :w ファイル名: ファイル名として保存
- :w !sudo tee % 権限がない場合の保存