はじめに
この記事は、基本的なVimコマンドを一覧としたものです。
ふと忘れた時に見返すことを想定しており、初心者が見て学ぶためのものではないことをご了承ください。
初心者は、シェルプロンプトにてvimtutorと入力して、Vimチュートリアルを学ぶことをお勧めします。
用語
コマンド = オペレータ + 数値 + モーション
例) d2w = 削除オペレータd + 繰り返し回数2 + 単語モーションw
シェルプロンプトでの操作
vim : Vim起動
vim fileA : VimでfileAを開く
vim -p fileA fileB : 複数のファイルをタブ毎に同時に開く
ノーマルモード
移動
h : カーソル左移動
j : カーソル下移動
k : カーソル上移動
l : カーソル右移動
w : 次の単語の先頭に移動
e : 次の単語の末尾に移動
b : 前の単語の先頭に移動
2w : 2つ次の単語の先頭に移動
2e : 2つ次の単語の終端に移動
2b : 2つ前の単語の先頭に移動
^ or 0 : 行頭に移動
$ : 行末に移動
fa : 行内の次の「a」に移動(;で次のaに移動)
ctrl + f : 1画面下に移動
ctrl + b : 1画面上に移動
gg : ファイル先頭に移動
G : ファイル末尾に移動
2G : ファイルの2行目に移動
ctrl + o : 前のカーソル位置に戻る
ctrl + i : 次のカーソル位置に進む
% : カーソル位置に対応する括弧に移動
表示
ctrl + g : ファイル名と行数を表示
テキスト削除
x : 1文字削除
dw : カーソル位置から単語終端までを削除
d2w : カーソル位置から単語2つ分を削除
d$ : 行末までを削除
dd : 行全体を削除
2dd : 2行分を削除
コピー
y : 選択テキストのコピー
yy : 選択行のコピー
2yy : 2行分をコピー
ペースト
p : コピー or 削除したテキストのペースト
取り消し(undo)
u : 直前のコマンドの取り消し
U : 行全体の取り消し
ctrl + r : 取り消しの取り消し(redo)
検索(n で次, Nで前の候補)
/word : 「word」を下に検索
?word : 「word」を上に検索
* : カーソル位置の単語を下に検索
# : カーソル位置の単語を上に検索
便利コマンド
. : 直前のコマンドを繰り返す
= : インデントを揃える
ctrl + n : コマンドの補完候補を表示
cit : htmlなどでタグの中身だけを削除して入力
入力モード(esc : ノーマルモードに切替)
テキスト追加
i : テキストをカーソル位置に挿入
a : テキストをカーソル位置に追加
A : テキストを行末に追加
テキスト変更
r : 文字の置き換え
cw : 文字列の置き換え
c$ : 行末までを置き換え
cc : 行全体を置き換え
コマンドモード
保存(write)
:w : 保存
:w fileA : fileAとして保存
終了(quit)
:q : 終了
:wq : 保存して終了
:q! : 保存せず強制終了
開く
:e fileA : fileAを開く
置換(substitute)
:s/old/new : 最初の「old」を「new」に置換
:s/old/new/g : 行全体を置換
:%s/old/new/g : ファイル全体を置換
:%s/old/new/gc : ファイル全体を確認(confirm)を取りながら置換
:5,10s/old/new/g : 10〜15行目を置換
外部コマンド
:!ls : 外部コマンドlsを実行
画面の分割(split)
:sp : 上下に画面分割
:sp : 左右に画面分割
ctrl + w + w : 次の画面に移動
:close : 分割画面を閉じる
タブ
:tabnew : 新規タブを作成
:tabe fileA : 別タブでfileAを開く(tab edit)
:tabclose : タブを閉じる
:tabdo %s/old/new/g : 開いているタブ全体で置換
(gt : タブ切り替え(go to next tab))
設定
:set number : 行番号を表示
:syntax on : コード色分け
:set tabstop=2 : タブの空白数を規定
ビジュアルモード(esc : ノーマルモードに切替)
選択
v : テキスト選択
V : 行選択
ctrl + v : 矩形選択
ctrl + v → i : 複数同時入力
ctrl + v → x : 複数同時削除