Vimの基本操作についてのまとめ

Vimとは?

高機能なテキストエディタ。 キーボードのみで操作されることを前提としていて、キーボードのみですべての操作が可能になっている。状況に応じてモードを使い分けることでテキストを編集していき、小さなコマンドの組み合わせをその場で作ることによってさまざま様な機能を実現する。

Vimの起動方法

作業したいディレクトリに移動し、vimを入力

$ cd 作業したいディレクトリ
$ vim

既にファイルがある場合は

$ vim index.html

Vimの基本操作

モード切替 Vimは複数のモードを用いてテキストの編集を行う 主なモードは4つ

モード 概要
ノーマルモード 起動時のモード
カーソル移動やテキストの削除、コピー、ペーストなどの簡単な指示を行う
他のモードでescを押すとノーマルモードに戻る
インサートモード 実際にテキストを入力するモード
ノーマルモードでi,a,o,Oなどを入力するとインサートモードになる
ビジュアルモード テキストを選択するだけのモード
ノーマルモードでvなどを入力するとビジュアルモードになる
コマンドモード ファイルを開いたり、検索・置換などの指示を行うモード
: , / , ? などを入力するとコマンドモードになる

ノーマルモード

コマンド 動作
h 左に移動
j 下に移動
k 上に移動
l 右に移動
0 行の先頭に移動
$ 行末に移動
w 単語の先頭に移動
e 単語の終わりに移動
gg テキストの最上部に移動
G テキストの最下部に移動
(n)G (n)行目に移動 例: 327G (327行目に移動)
ctrl G 現在カーソルのある行を確認できる
x 1文字削除
dw, de カーソル位置から単語部分を削除
d$ カーソル位置から行末まで削除
dd 行を削除(切り取り)
(n)dd n行削除
u 前の動作を取り消し
U 行全体の動作を取り消し
ctrl R 取り消しの取り消し
% 対応するかっこに移動

インサートモード

コマンド 動作
a カーソル位置の後からインサートモード
i カーソル位置の前からインサートモード
A 行末からインサートモード
R 入力した文字が置き換わる(置換)
o 下の行でインサートモード
O 上の行でインサートモード
ce 単語が削除されインサートモードになる
cc 行全てが削除されインサートモードになる
c$ カーソル位置以降が削除されインサートモードになる

ビジュアルモード

コマンド 動作
v カーソル位置から選択開始
V 行全てを選択

選択後はyでコピー可能

ペーストはp

コマンドモード

コマンド 動作
:q 実行中のタブを閉じる
:w 上書き保存
:wq 上書き保存して終了
:q! 強制終了
/検索ワード 該当ワードが前から検索される(nで次のワード)
?検索ワード 該当ワードが後ろから検索される(nで次のワード)

参考

vimtutor

https://qiita.com/JpnLavender/items/fabcc79b4ab0d52e1f6d

https://zenn.dev/mo_ri_regen/articles/vim-four-modes

https://kitsune.blog/vi-summary#コマンドモードの操作方法