kent備忘ログ

お仕事と趣味生活と

Vim の操作方法について

ターミナル上でVSCode等のIDEを起動する程ではないけれど、簡易的にコードを書きたいときに役立つのがVim 今回はその操作方法について記事にまとめてみました。

公式ドキュメントはVim help filesになります。 視覚的にゲーム感覚で操作を覚えるならVim Adventuresもおすすめです。

Vimの立ち上げ(ターミナル上で入力)

vim <ファイル名> ファイル名を指定して起動
view <ファイル名> viewモード(読み取り専用)で起動
set shell=/bin/zsh
set shiftwidth=4
set tabstop=4
           ︙

Vimは主に4つの入力モードに分かれます

入力モード 説明
Nomalモード 立ち上げ時の初期モード(ここから下記3つ相互に切り替える)
Insertモード 文字力時のモード
Commandモード ウインドウ下部でコマンド入力、実行が可能
Visualモード 記述された文字列を範囲選択できる

Nomalモード上での操作

操作系
入力キー 説明
h:左 j:下 k:上 l:右 カーソル移動(キーボード入力)
u Undo
Ctrl + r Redo
. (ピリオド) 直前の動作をリピート
切り替えコマンド
入力キー 説明
Esc  (各モードから) Nomalモードへ切り替え
i (Insertモードへ) カーソルの位置から入力
a (Insertモードへ) カーソルの後ろから入力
shift + r (Insertモードへ) 置換(既にある文字列を上書き)入力
o 選択行の下に空白を入れ、Insertモード
shift + o 選択行に空白を入れ、Insertモード
: or / Commandモードへ切り替え
v Visualモードへ切り替え
削除系(削除後、pコマンドでペースト可能)
入力キー 説明
x 1文字削除
dw 単語単位での削除
dd 1行削除
(n) dd (n)行毎の削除
コピー&ペースト
入力キー 説明
yy 1行コピー
(n) yy (n)行毎のコピー
shift + p 現在行にペースト
p 下の行にペースト
shift + j 行の連結
移動系
入力キー 説明
0(ゼロ) 行の先頭に移動
$ 行の末尾に移動
gg ファイルの先頭に移動
shift + g ファイルの末尾に移動
^ インテントの先頭に移動
{  } 段落毎上下に移動
[ [ ] ] セクション毎上下に移動
Ctrl + o 移動前に戻る

Insertモード上での操作

  • 通常の文字入力のモード、これに切り替えて文字入力できる。

Commandモード上での操作

入力キー 説明
n n行目に移動
q q! vimの終了(!付きでファイル保存せず強制終了)
w w! ファイルの上書き保存(!付きで強制保存)
wq ファイルを保存して終了
w <ファイル名> 名前をつけて保存
! <言語名> <ファイル名> ファイルを選択のプログラミング言語で実行
!! 前のコマンドを実行(繰り返し)
set number 行番号の表示
%s/<置換前の文字>/<置換後の文字>/g 一括置換
%s/<置換前の文字>/<置換後の文字>/gc 確認しながら一つずつ置換
/<検索文字> 文字の検索
(上記の文字検索を実行後)
n 次の検索結果に移動
shift + n 前の検索結果に移動

Visualモード上での操作

入力キー 説明
shift + < > インテントの左右移動
(文字列を選択後) y (ヤンク) コピー