1. Vimの基本
Vimのモード
Vimの3つのモード:
- ノーマルモード(Normal mode)
- コマンドを実行するモード(デフォルト)
- 文字入力はできず、カーソル移動や削除などの操作を行う
- ESCキーを押すとこのモードに戻る
- 挿入モード(Insert mode)
- テキストを入力するモード
- ノーマルモードで
i
やa
を押すと切り替わる - ESCキーを押すとノーマルモードに戻る
- コマンドラインモード(Command-line mode)
- ファイルの保存や検索などを行うモード
-
:
を押すとコマンドを入力できる(例::w
で保存)
2. Vimの起動と終了
起動:
vim ファイル名
(存在しない場合は新規作成)
終了:
-
:q
→ ファイルを変更していなければ終了 -
:q!
→ 変更を保存せずに強制終了 -
:wq
またはZZ
→ 変更を保存して終了 -
:x
→:wq
と同じ(変更があった場合のみ保存)
3. ノーマルモードでの基本操作
カーソル移動
-
h
→ 左へ移動 -
l
→ 右へ移動 -
j
→ 下へ移動 -
k
→ 上へ移動
単語単位で移動:
-
w
→ 次の単語の先頭へ -
e
→ 単語の末尾へ -
b
→ 前の単語の先頭へ
行単位で移動:
-
0
→ 行の先頭へ移動 -
^
→ 行の最初の文字へ移動(インデントを無視) -
$
→ 行の末尾へ移動
ページ単位の移動:
-
Ctrl-d
→ 画面の半分だけ下へスクロール -
Ctrl-u
→ 画面の半分だけ上へスクロール -
Ctrl-f
→ 次のページへ(下方向にスクロール) -
Ctrl-b
→ 前のページへ(上方向にスクロール)
ファイル内の移動:
-
gg
→ ファイルの先頭へ移動 -
G
→ ファイルの末尾へ移動 -
nG
→ n 行目へ移動(例:10G は10行目へ移動)
4. 挿入モードへの切り替え
-
i
→ カーソルの前に入力開始 -
a
→ カーソルの後に入力開始 -
I
→ 行の先頭で入力開始 -
A
→ 行の末尾で入力開始 -
o
→ 次の行に新しい行を追加して入力開始 -
O
→ 現在の行の前に新しい行を追加して入力開始
5. テキストの削除・コピー・貼り付け
削除(ノーマルモード)
-
x
→ カーソルの位置の1文字を削除 -
dw
→ 単語を削除 -
dd
→ 行を削除 -
D
→ カーソル位置から行末まで削除 -
d$
→ カーソル位置から行末まで削除(Dと同じ) -
dG
→ カーソル位置からファイルの最後まで削除
コピー&貼り付け
-
yy
またはY
→ 行をコピー(ヤンク) -
yw
→ 単語をコピー -
p
→ コピーしたものをカーソルの後ろに貼り付け -
P
→ コピーしたものをカーソルの前に貼り付け
取り消し(アンドゥ&リドゥ)
-
u
→ 1つ前の操作を取り消す(Undo) -
Ctrl-r
→ 取り消した操作をやり直す(Redo)
6. 文字列の検索と置換
検索
-
/検索語
→ 下方向に検索 -
?検索語
→ 上方向に検索 -
n
→ 次の検索結果へ移動 -
N
→ 逆方向の検索結果へ移動
置換
-
:s/old/new/
→ 現在の行で最初に見つかった old を new に置換 -
:s/old/new/g
→ 現在の行のすべての old を new に置換 -
:%s/old/new/g
→ ファイル全体で old を new に置換 -
:%s/old/new/gc
→ 置換を1つずつ確認しながら実行
7. ファイルの保存と管理
-
:w
→ 保存(write) -
:w ファイル名
→ 別のファイル名で保存 -
:saveas ファイル名
→ 指定したファイル名で保存 -
:e ファイル名
→ 別のファイルを開く -
:q!
→ 保存せずに終了
8. 便利な操作
複数のファイルを開く
-
:split ファイル名
→ 水平分割して開く -
:vsplit ファイル名
→ 垂直分割して開く -
Ctrl-w w
→ 分割したウィンドウ間を移動
タブの操作
-
:tabnew
→ 新しいタブを開く -
:tabnext (:tn)
→ 次のタブへ移動 -
:tabprev (:tp)
→ 前のタブへ移動 -
:tabclose
→ 現在のタブを閉じる
9. ヘルプ
:help
特定のコマンドについて調べたい場合:
:help コマンド名