LoginSignup
740
750

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

Last updated at Posted at 2019-05-19

はじめに

本記事では Vim の使い方を学ぶために、コマンドとキーだけではなく GIF画像によるアニメーション を利用し、使い方をイメージしやすいようにしました。

本記事の構成

本記事の構成は下記の通りです。

章名 内容
第1章 精選10機能 精選10機能(使用頻度が高い機能)を整理しました
第2章 便利な機能 Vim の便利な機能を整理しました
第3章 機能一覧 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」で改行を削除する。

第3章 機能一覧

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 "文字列"を含んでる行を削除する

付録

バージョン

使用した Vim のバージョンは下記です。

VIM - Vi IMproved 9.1

参考

本記事は下記を参考にしました。

アニメーション作成ソフトウェア

アニメーション(GIF画像)を作成するために下記のソフトウェアを利用しました。

740
750
16

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
740
750