Zenn
🫶

Vim コマンド集 (初心者向け)

2025/03/22に公開

Vim のコマンドの処理の種類別のまとめ記事はよくありますが、初心者向けによく使う順に分類された記事があまりないのでまとめておきました。VSCode使えばいいやんとよく言われます。その通りですがコミットメッセージ書いたり、リモートのファイルちょっといじるのにはわざわざVSCode開くよりもやっぱりVimの方が便利なので使ってます。

必須レベル

k j h l 上下左右
i カーソル位置で挿入モードへ
ESC コマンドモードへ
:w 保存
:q 終了
:wq 保存して終了
:q! 保存せずに終了

入門レベル

x カーソルの位置の文字を削除
v ビジュアルモードへ
y 選択範囲をコピー
d 選択範囲を削除
yw 単語コピー
yy 行コピー
dw 単語削除
dd 行削除
p カーソルの後ろにペースト
u やり直す
Ctrl-r 取り消す

簡単だけど割と使うやつ

a カーソルの次の位置で挿入モード
o 改行して挿入モード
w 次の単語の先頭へ移動
e 次の単語の後ろへ移動
b 前の単語の先頭へ移動
ge 前の単語の後ろへ移動
Ctrl+u 画面半分上に移動
Ctrl+d 画面半分下に移動
Ctrl+b 画面全部上に移動
Ctrl+f 画面全部下に移動
0 行頭へ移動
$ 行末へ移動
gg ファイルの先頭行へ移動
G ファイルの最終行へ移動

初級レベル

. 直前の操作を繰り返す
* カーソル位置の単語を次に検索
# カーソル位置の単語を前に検索
n 検索の次の候補へ移動
N 検索の前の候補へ移動
/word word を前方検索
?word word を後方検索
:%s/old/new/g ファイル全体の"old"を"new"に置換
:%s/old/new/gc ファイル全体の"old"を"new"に置換する前に確認(単語ごとに置換するかどうか選べたり、全置換したりできる)
>> << インデント

ちょっとつよつよ

  • n(コマンドの実行回数) と dd, yy
    ndd n 行削除
    nyy n 行コピー
  • n, m(行番号) と d, y
    :nd n行目を削除
    :n,md n行目からm行目まで削除
    :ny n行目をコピー
  • n(文字数) と d, y
    ndl n文字削除
    nyl n文字コピー
  • s, c (削除して挿入モードへ)
    sカーソル位置の文字を削除して挿入モード
    cc S 一行削除して挿入モードへ
    C カーソル位置から行末までを削除して挿入モードへ
    ce カーソル位置から単語の最後まで削除して挿入モードへ
  • iw系 (カーソル位置の単語に関する操作)
    diw カーソル位置の単語を削除 cf.dawにすると単語の周りの空白を一つ削除できます
    yiw カーソル位置の単語をコピー
    ciw カーソル位置の単語を削除して挿入モードへ
    cf. iwの類義語としてi"i'i<i(i[i{などがあります。それぞれ括弧の中身について操作できます。
  • d, y$, 0, gg, Gの組み合わせ
    d0 文頭まで削除
    y0 文頭までコピー
    c0 文頭まで削除して挿入モード
    d$ D 文末まで削除
    y$ Y 文末までコピー
    c$ C文末までまで削除して挿入モード
    dgg 最初の行まで削除
    ygg 最初の行までコピー
    cgg 最初の行まで削除して挿入モード
    dG 最後の行まで削除
    yG 最後の行までコピー
    cG 最後の行まで削除して挿入モード
  • 矩形選択と$0IA
    矩形選択+0I+ESC 複数行のそれぞれの文頭に同じ文字列を追加
    矩形選択+$A+ESC 複数行のそれぞれの文末に同じ文字列を追加
    (文頭、文末に限らずカーソルを合わせれば好きなところに文字を一斉に追加できます。)
  • 行連結
    J 空白ありで次の行を現在の行に結合
    gJ 空白無しで次の行を現在の行に結合
  • p派生
    P カーソルの前にペースト
    gp カーソルの後ろにペーストしてその後ろにカーソルを置く
    gP カーソルの前にペーストしてその後ろにカーソルを置く
  • 移動のさらなる効率化を目指す
    fx カーソルから次の最初に"x"の位置に移動
    tx カーソルから次の最初に"x"の位置の直前に移動
    Fx カーソルから前の最初に"x"の位置に移動
    Tx カーソルから前の最初に"x"の位置の直前に移動
    ; f, tの繰り返し
    , F, Tの繰り返し
    H 画面の最上部の行へ移動
    M 画面の中央の行へ移動
    L 画面の最下部の行へ移動
    ngg n 行目に移動
    Ctrl+e 画面を1行下にスクロール (カーソル位置は変わらない)
    Ctrl+y 画面を1行上にスクロール (カーソル位置は変わらない)

初心者卒業

リストで書いておきますので必要に応じて調べてみてください。この他にももっといろいろあります!Vimはすごいですね!

  • 正規表現検索
  • grep検索
  • 自動インデント
  • 折り畳み、展開
  • 単語補完
  • %で括弧に移動
  • レジスタ
  • バッファ
  • ウィンドウ、タブ
  • マクロ

Discussion

ログインするとコメントできます