vimとは

vimとは、CentOS8のテキストエディタです。Windowsのメモ帳やサクラエディタのようなものです。viの改良版がvimで矩形選択ができるようになっています。

手順

1.練習用ファイルの準備
2.ノーマルモードの練習
3.挿入モードの練習
4.ビジュアルモードの練習
5.コマンドモードの練習

1.練習用のファイルの準備

1-1.練習用ファイルの準備

今回はvimの練習をするために、sshd_configファイルを使います。

# ファイルをコピー(hosts)
[root@CE08PRD101 ~]# cp /etc/hosts /root

# ファイルをコピー(sshd_conf)
[root@CE08PRD101 ~]# cp /etc/ssh/sshd_config /root

# ファイルのコピーを確認
# コピーしたファイルがあることを確認する
[root@CE08PRD101 ~]# ll /root
(省略)
-rw-r--r-- 1 root root 158 9月 21 12:39 hosts
-rw------- 1 root root 4425 9月 21 20:15 sshd_config
(省略)

# ファイルの編集
[root@CE08PRD101 ~]# vim hosts

1-1.ファイルの編集

# ファイルの編集
[root@CE08PRD101 ~]# vim hosts

最初の画面は、「ノーマルモード」で開かれますす。この画面では、主にカーソルの移動をします。


# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
# SELINUX=enforcin.
#SELINUX=disabled
# SELINUXTYPE= can take one of these three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
~
~
~
~
"selinxu_conf" 15L, 566C                                     2,1 全て

行数を表示します。
以下を入力し、enterを押します。

:set nu

1
2 # This file controls the state of SELinux on the system.
3 # SELINUX= can take one of these three values:
4 # enforcing - SELinux security policy is enforced.
5 # permissive - SELinux prints warnings instead of enforcing.
6 # disabled - No SELinux policy is loaded.
7 # SELINUX=enforcin.
8 #SELINUX=disabled
9 # SELINUXTYPE= can take one of these three values:
10 # targeted - Targeted processes are protected,
11 # minimum - Modification of targeted policy. Only selected processes are protected.
12 # mls - Multi Level Security protection.
13 SELINUXTYPE=targeted
14
15
~
~
:set nu

2.ノーマルモードの練習

ノーマルモードは主にカーソルの移動をするモードです。移動以外にも、文字の削除、コピー&ペースト、検索、置換などもできます。以下の手順で練習してみましょう。

■ カーソルの移動
カーソルの移動は「j」(下)、「l」(右)、「h」(左)、「k」(上)です。
以下の手順でカーソルを動かしてみましょう。
 1.jを何回か押し、13行目まで移動(SELINUXTYPE=targetedの行)
 2.lを何回か押し、末尾のdまで移動
 3.hを何回か押し、行頭のSまで移動
 4.kを何回か押し、1行目まで移動(空行)
 5.3j(下に3移動)
 6.3l(右に3移動)
 7.3h(左に3移動)
 8.3k(上に3移動)

■ 行移動
行移動は、行数 + 「G」です。
以下の手順で移動してみましょう。
 1.9G
 2.12G
 3.13G
 4.8G

■ 行末、行頭に移動
行末、行頭への移動は「$」(行末)、「0」(行頭)です。
以下の手順で移動してみましょう。
 1.$
 2.0
 3.4G
 4.$
 5.0

■ 画面を移動
画面の移動は「Ctrl」 + 「f」(次の画面)、「Ctrl」 + 「b」(前画面)
以下の手順で移動してみましょう。(hostsだと行数がすくなくてあまり移動できませんが。。。)
 1.1G
 2.「Ctrl」 + 「f」
 3.「Ctrl」 + 「b」

■ 文末、文頭に移動
文末、文頭への移動は「G」(文末)、「gg」(文頭)です。
以下の手順で移動してみましょう。
 1.3G
 2.G
 3.gg

■ 単語毎に移動
単語毎の移動は「w」(右に移動)、「b」(左に移動)です。
以下の手順で移動してみましょう。
 1.11G(minimumの行)
 2.wを押し、protectedまで移動
 3.bを押し、行頭まで移動

■ 検索
検索は「/」(前方検索)、「?」(後方検索)です。
次の検索候への移動は、「n」又は「N」です。
以下の手順で検索してみましょう。
 1.gg
 2./disabled → enterを押す
 3.n
 4.N
 5.?th → enterを押す
 6.n
 7.N

■ コピー
コピーは「yy」、貼り付けは「p」です。
以下の手順でコピーしてみましょう。
 1.12G(mls ~の行)
 2.yy
 3.G
 4.p
 5.u
 6.8G(SELINUX ~の行)
 7.4yy
 8.G
 9.p
10.u
11./controls → enterを押す
12.yw
13.p
14.u
15./Modification → enterを押す
16.y$
17.G
18.p
19.u
20./Modification → enterを押す
21.y0
22.G
23.p
24.u

■ 切り取り
コピーは「dd」、貼り付けは「p」です。
以下の手順でコピーしてみましょう。
 1.12G(mls ~の行)
 2.dd
 3.G
 4.p
 5.uu
 6.8G(SELINUX ~の行)
 7.4dd
 8.G
 9.p
10.uu
11./controls → enterを押す
12.dw
13.p
14.uu
15./Modification → enterを押す
16.d$
17.G
18.p
19.uu
20./Modification → enterを押す
21.d0
22.G
23.p
24.uu

■ 削除
削除は「x」です。
以下の手順で試してみましょう。
 1.3G
 2./take → enterを押す
 3.xxxx
 4.uuuu
 5.4x
 6.u

■ 直前の操作の取り消し、直前の操作の繰り返し
取り消しは「u」、繰り返しは「.」です。
以下の手順で試してみましょう。
 1.7G
 2.yy
 3.G
 4.p
 5......
 6.uuuuu

3.挿入モードの練習

■ 文字の挿入
文字の挿入は、
「i」(カーソル位置に挿入)
「a」(カーソルの右に挿入)
「o」(カーソルの下に挿入)
「O」(カーソルの上に挿入)アルファベット大文字
です。

また、「esc」を押すとノーマルモードに戻ります。

以下の手順で試してみましょう。
 1.G
 2.i(挿入モードになる)
 3.name=taro
 4.「esc」を押す(ノーマルモードに戻る)
 5.a
 6.u
 7.「esc」を押す(ノーマルモードに戻る)
 8.o
 9.id=001
10.「esc」を押す(ノーマルモードに戻る)
11.O ※アルファベット大文字
12.tel=090xxxxxxxx
13.「esc」を押す(ノーマルモードに戻る)

4.ビジュアルモードの練習

■■■ビジュアルモード(範囲選択モード)※矩形はviではできません。
範囲選択は、
「v」(カーソルの位置から選択開始)
「V」(カーソルの行から選択開始)
「Ctrl」+ v(矩形選択開始)
です。選択後は、削除、コピー、切り取り、文字の挿入等ができます。

また、「esc」を押すとノーマルモードに戻ります。

以下の手順で試してみましょう。
 1.2G
 2./state → enterを押す
 3.v
 4.llll (アルファベット
 5.x
 6.「esc」を押す(ノーマルモードに戻る)
 7.u
 8.「V」
 9.4j
10.x
10.「esc」を押す(ノーマルモードに戻る)
11.u
12.「Ctrl」 + 「v」
13.G
14.I
15.#
16.「esc」を押す(ノーマルモードに戻る)
16.u

5.コマンドモードの練習

コマンドモードでは、以下のことができます。
:q (vimの終了)
:q! (vimの強制終了)
:w (保存)
:wq (保存してvimを終了)
:set nu (行番号表示)

以下の手順で試してみましょう。(今回は保存せず終了します)
1.:q!

以上、お疲れさまでした。