はじめに
タイトルについて記事にしました。
この記事で得る内容は以下の通りです。
・ viの概要と主要なコマンドについて
概要
vi
Cent OSやAmazon Linuxに標準装備されているテキストエディタです。
サーバー上で設定ファイル等を編集したい場合はエディタが必要で、その際にviがよく使われています。
他にもviを発展させたvimや、emacsというエディタもあります。
しかし、長期間に渡り動作し続けるWebサーバに不必要なソフトウェアをインストールすることは、サーバーを不安定にさせる原因になり得るため、可能な限り導入は避けるべきとされています。
2つの入力モード
viエディタには通常モードとインサートモードがあります。
通常モード
viエディタを起動した直後は、以下のような画面で通常モードになっています。
通常モードでは、viエディタにコマンドを入力することで、ファイルを保存したり、viエディタを終了します。
~
~
~
~ VIM - Vi IMproved
~
~ version 8.2.850
~ by Bram Moolenaar et al.
~ Vim is open source and freely distributable
~
~ Become a registered Vim user!
~ type :help register<Enter> for information
~
~ type :q<Enter> to exit
~ type :help<Enter> or <F1> for on-line help
~ type :help version8<Enter> for version info
~
インサートモード
通常モードでは文字を入力できないので、文字を入力したい場合は、通常モードの状態でi
キーを押下してインサートモードにする必要があります。インサートモードになると、下の画面のように表示されます。
-- INSERT --
通常モードとインサートモードの流れを図にしてまとめます。
基本コマンド
viエディタで使うコマンドは100以上の数があり、日常的に使わない限り覚えるのは面倒だし難しいです。
基本的に、エディタ内では矢印キー、コピー&ペーストも可能な点であることを踏まえ、まずはこれだけを抑えておけば困らないだろうというコマンドをまとめました。
viエディタの起動
コマンド | 説明 |
---|---|
vi | viエディタの起動 |
vi ファイル名 | viエディタでファイルを開く |
モードの切り替え
コマンド | 説明 |
---|---|
i | インサートモードで入力する |
Esc | 通常モードに移行する |
保存・終了
コマンド | 説明 |
---|---|
:w | 保存する |
:q! | 保存せずに終了する |
ZZ | 変更があれば保存して終了する(変更がなければ終了するのみ) |
便利なコマンド
カーソル移動
コマンド | 説明 |
---|---|
Enter | 次の行の先頭へ移動する |
w・e・b | カーソルを単語単位で移動する(次の先頭・次の末尾・前の先頭) |
W・E・B | カーソルをスペース区切り単位で移動する(次の先頭・次の末尾・前の先頭) |
削除・コピー・ペースト
コマンド | 説明 |
---|---|
dd | 1行削除 |
D | 行末まで削除 |
yy(Yでも同様) | 1行コピー |
p | ペースト |
取り消し・検索
コマンド | 説明 |
---|---|
u | 操作履歴を1つ前に戻す(undo) |
control + r | 操作履歴を1つ前にすすめる(redo) |
/ キーワード | キーワードの検索 |