アニメーションで学ぶVim入門 ~精選10機能~


はじめに

本記事では vim の使い方を学ぶために、コマンドとキーだけではなく、GIF画像によるアニメーションを利用し、使い方をイメージしやすいようにしました。使用頻度が高い機能を精選10機能とし、その他の便利機能も整理しました。また今後も、便利な vim の機能があれば、記事に追加する予定です。


本記事の構成


章名
内容

第1章
精選10機能
これだけを学べば vim が使えるようになります

第2章
便利機能
vim の便利な機能を紹介します

-
付録
vim の単体機能を整理しました


第1章 精選10機能


① 新規のファイルを作成する

1-1.gif


  1. vim 新規ファイル名」で新規ファイルを開く。

  2. i」で Insert Mode に移る。

  3. 本文を入力する。

  4. Esc」で Nomarl Mode に移る。

  5. :wq」でファイルを保存する。

  6. cat 新規ファイル名」でファイルの中身を確認する。


② 既存のファイルを編集する

1-2.gif


  1. vim 既存ファイル名」で既存ファイルを開く。

  2. i」で Insert Mode に移る。

  3. 編集する。

  4. Esc」で Nomarl Mode に移る。

  5. :wq」でファイルを保存する。

  6. cat 既存ファイル名」でファイルの中身を確認する。


③ 1行を削除する

1-3.gif


  1. 削除する行にカーソルを移動する。

  2. dd」で削除する。


④ 複数行を削除する

1-4.gif


  1. 削除する先頭行にカーソルを移動する。

  2. 「削除する行数 + dd」で削除する。


⑤ 行単位でヤンク&ペーストする

1-5.gif


  1. ヤンクする行にカーソルを移動する。

  2. yy」でヤンクする。

  3. p」でペーストする。


⑥ 行単位でカット&ペーストする

1-6.gif


  1. カットする行にカーソルを移動する。

  2. dd」でカットする。

  3. p」でペーストする。


⑦ undo / redo

1-7.gif


  1. u」で undo する。

  2. Ctrl-r」で redo する。


⑧ 置換する

1-8.gif


  1. :%s/ + 置換前文字列 + / + 置換後文字列 + /g」で置換する。


⑨ 検索する

1-9.gif


  1. / + 検索文字列」で検索する。

  2. n」で後方検索する。

  3. N」で前方検索する。


⑩ カーソル上の単語を検索する

1-10.gif


  1. *」でカーソル上の単語を後方検索する。

  2. #」でカーソル上の単語を前方検索する。


第2章 便利な機能


① 特定の行に移動する

2-1.gif


  1. 「移動したい行数 + gg」で移動する。


② すべての行頭に接頭語を追加する

2-2.gif


  1. :%s/^/ + 接頭語」で追加する。


③ すべての行末に接尾語を追加する

2-3.gif


  1. :%s/$/ + 接尾語」で追加する。


④ 特定範囲の行頭に接頭語を追加する

2-4.gif


  1. 「特定範囲の先頭行数 + gg」で先頭行に移動する。

  2. Ctrl-v」で矩形選択をする。

  3. 「特定範囲の最終行数 + gg」で最終行に移動する。

  4. I」で Insert Mode に移る。

  5. 接頭語を入力する。

  6. Esc」で Normal Mode に移る。


⑤ 特定範囲の行末に接尾語を追加する

2-5.gif


  1. 「特定範囲の先頭行数 + gg」で先頭行に移動する。

  2. Ctrl-v」で矩形選択をする。

  3. 「特定範囲の最終行数 + gg」で最終行に移動する。

  4. $」で行末を選択する。

  5. A」で Insert Mode に移る。

  6. 接尾語を入力する。

  7. Esc」で Normal Mode に移る。


⑥ インデントを増減する

2-6.gif


  1. インデントを増やす行を選択する。

  2. 「増やすインデント数 + >」でインデントを増やす。

  3. インデントを減らす行を選択する。

  4. 「減らすインデント数 + <」でインデントを減らす。


⑦ 大文字小文字を変換する

2-7.gif


  1. 小文字にしたい箇所を選択する。

  2. u」で小文字に変換する。

  3. 大文字にしたい箇所を選択する。

  4. U」で大文字に変換する。


⑧ 改行を削除する

2-8.gif


  1. 改行を削除したい行を選択する。

  2. gJ」で改行を削除する。


⑨ 空白を挿入して改行を削除する

2-9.gif


  1. 改行を削除したい行を選択する。

  2. J」で改行を削除する。


付録


Mode の切り替え


Normal Mode

4-31.gif

キー
動作

Esc
Normal Mode に移る

4-32.gif

キー
動作

Ctrl-[
Normal Mode に移る


Insert Mode

4-33.gif

キー
動作

i
カーソルの位置から Insert Mode に移る

4-34.gif

キー
動作

a
カーソルの直後から Insert Mode に移る

4-35.gif

キー
動作

I
行頭から Insert Mode に移る

4-36.gif

キー
動作

A
行末から Insert Mode に移る

4-37.gif

キー
動作

s
カーソル上の文字を削除してから Insert Mode に移る

4-38.gif

キー
動作

cw
カーソル上から単語末までを削除してから Insert Mode に移る

4-39.gif

キー
動作

ciw
カーソル上の単語を削除してから Insert Mode に移る

4-40.gif

キー
動作

ci"
ダブルクォーテーションの内部を削除して Insert Mode に移る

4-41.gif

キー
動作

cit
HTMLタグの内部を削除して Insert Mode に移る

4-42.gif

キー
動作

S
カーソルがある行を削除してから Insert Mode に移る

4-43.gif

キー
動作

C
カーソルがある位置から行末までを削除してから Insert Mode に移る

4-44.gif

キー
動作

o
カーソルがある行の下に新たな行を追加して Insert Mode に移る

4-45.gif

キー
動作

O
カーソルがある行の上に新たな行を追加して Insert Mode に移る


Visual Mode

4-46.gif

キー
動作

v
Visual Mode に移る

4-47.gif

キー
動作

V
行単位の選択をして Visual Mode に移る

4-48.gif

キー
動作

Ctrl-v
矩形選択をして Visual Mode に移る


Command Mode

4-49.gif

キー
動作

:
Command Mode に移る


Normal Mode


画面スクロール

4-1.gif

キー
動作

Ctrl-f
1画面、下にスクロールする

Ctrl-b
1画面、上にスクロールする

4-2.gif

キー
動作

Ctrl-d
半画面、下にスクロールする

Ctrl-u
半画面、上にスクロールする

4-3.gif

キー
動作

Ctrl-e
1行、下にスクロールする

Ctrl-y
1行、上にスクロールする

4-4.gif

キー
動作

zz
カーソルがある行を画面中央になるようにスクロールする


カーソル移動

4-5.gif

キー
動作

h

j

k

l

4-6.gif

キー
動作

w
単語単位で後方に移動する

b
単語単位で前方に移動する

4-7.gif

キー
動作

0
行頭に移動する

^
文頭に移動する

$
行末に移動する

4-8.gif

キー
動作

gg
先頭行(1行目)に移動する

数字 + gg
"数字"行目に移動する

G
最終行に移動する

4-9.gif

キー
動作

Shift-]
下方の空行に移動する

Shift-[
上方の空行に移動する

4-10.gif

キー
動作

%
対応する括弧に移動する

4-11.gif

キー
動作

H
画面上の一番上の行に移動する

M
画面上の真ん中の行に移動する

L
画面上の一番上の行に移動する


削除

4-12.gif

キー
動作

x
文字を削除する

4-18.gif

キー
動作

D
カーソルがある位置から行末まで削除する

4-13.gif

キー
動作

diw
カーソルがある単語を削除する

4-14.gif

キー
動作

di"
ダブルクオートの内部を削除する

4-15.gif

キー
動作

dit
HTMLタグの内部を削除する

4-16.gif

キー
動作

dd
カーソルがある行を削除する

4-17.gif

キー
動作

数字 + dd
カーソルがある位置から下方の"数字"分の行を削除する


ヤンク&ペースト

4-19.gif

キー
動作

yiw
カーソルがある位置の単語をヤンクする

4-20.gif

キー
動作

yi"
ダブルクォーテーションの内部をヤンクする

4-21.gif

キー
動作

yit
HTMLタグの内部をヤンクする

4-22.gif

キー
動作

yy
カーソルがある位置の行をヤンクする

4-23.gif

キー
動作

数字 + yy
カーソルがある位置から下方の"数字"分の行をヤンクする

4-22.gif

キー
動作

p
行は下方に、単語は右方にペーストする

4-24.gif

キー
動作

P
行は上方に、単語は左方にペーストする

4-25.gif

キー
動作

数字 + p
行は下方に、単語は右方に"数字"分の行/単語をペーストする

4-26.gif

キー
動作

gv
直前の選択範囲を再選択する


検索

4-27.gif

キー
動作

/ + 文字列
文字列を上から検索する

n
カーソルより下側にある検索候補に移動する

N
カーソルより上側にある検索候補に移動する

4-28.gif

キー
動作

? + 文字列
文字列を下から検索する

n
カーソルより下側にある検索候補に移動する

N
カーソルより上側にある検索候補に移動する

4-29.gif

キー
動作

*
カーソル上の単語を下方に検索

#
カーソル上の単語を上方に検索


undo / redo

4-30.gif

キー
動作

u
undo

Ctrl-r
redo


インクリメント / デクリメント

4-50.gif

キー
動作

Ctrl-a
数字を増やす

Ctrl-x
数字を減らす


インデント

4-51.gif

キー
動作

==
インデントを調整する

4-52.gif

キー
動作

>>
インデントを増やす

<<
インデントを減らす

数字 + >>
現在のカーソルから数字分の下の行のインデントを増やす

数字 + <<
現在のカーソルから数字分の下の行のインデントを減らす

4-53.gif

キー
動作

選択 + 数字 + >
選択した行を"数字"分だけインデントを増やす

選択 + 数字 + <
選択した行を"数字"分だけインデントを減らす


Insert Mode


インデント

4-54.gif

キー
動作

ctrl-t
インデントを増やす

ctrl-d
インデントを減らす


Visual Mode


選択

4-55.gif

キー
動作

viw
カーソル上の単語を選択する

4-56.gif

キー
動作

vi"
ダブルクォーテーションの内部を選択する

4-57.gif

キー
動作

vit
HTMLタグの内部を選択する


全選択

4-71.gif

キー
動作

gg + V + G
ファイル全体を選択する


Replace Mode


上書き

4-58.gif

キー
動作

r + 文字
任意の"文字"を上書きする

4-59.gif

キー
動作

R + 文字列
任意の"文字列"を上書きする


Command Mode


保存 / 終了

4-60.gif

キー
動作

:w
ファイルを保存する

4-61.gif

キー
動作

:w + filename
"filename"名でファイルを保存する

4-62.gif

キー
動作

:q
編集を終了する

4-63.gif

キー
動作

:q!
編集を強制終了する


置換

4-64.gif

キー
動作

:s/before/after
カーソルの行にある最初の"before"を"after"に置換する

4-65.gif

キー
動作

:s/before/after/g
カーソルの行にある"before"をすべて"after"に一括置換する

4-66.gif

キー
動作

:%s/before/after/g
ファイルのすべての"before"を"after"に一括置換する

4-67.gif

キー
動作

:%s/^/prefix
ファイル全体のすべての行の先頭に"prefix"を追加する

4-68.gif

キー
動作

:%s/$/suffix
ファイル全体のすべての行の末尾に"suffix"を追加する

4-69.gif

キー
動作

:%s;/var/home;/usr/home
パス名などを置換するときは、"/"でなく、";"を区切り文字に使用する


削除

4-70.gif

キー
動作

:g/文字列/d
"文字列"を含んでる行を削除する


Version

$ vim --version

VIM - Vi IMproved 8.0
Huge version without GUI.


参考サイト