今回はLinuxサーバーのviエディタの使い方です
Linuxsサーバーを使用していて、通常使用するテキストエディタはviエディタです。
しかしviエディタは癖が強く使いにくいといった声が多いです。
なので今回はLinuxサーバーデフォルトのviエディタの使い方を、現役エンジニアの筆者がまとめます。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!
Linuxサーバーではviエディタは必須なので、覚えておいた方が良いです。この記事を読めばLinuxのviエディタで効率よく作業が出来る様になり、エンジニアとしての価値があがります。
Linuxのviの使い方
Linuxサーバーではデフォルトでテキストを編集するツールががviエディタです。
viエディタは癖のあるツールですのでしっかり使い方を覚えます。
一つの項目ごとにしっかり確認して、Linuxのviエディタを習得しましょう!
viエディタの起動のやり方
まずはviエディタの起動のやり方をまとめます。
コマンド | 効果 |
---|---|
vi 既存のファイル名 | 既存のファイルを開いて編集する |
vi 新規ファイル名 | 新規にファイルを作成して編集する |
vi | 新規にファイルを作成。保存する時にファイル名を指定する |
Linuxでファイルを作成してからviエディタで編集する人も多いですが、新規にファイルを作成して編集する事が可能です。
viエディタのモードについて
viエディタにはモードがあり、viを起動してもいきなり文字を入力する事ができません。コマンドモードになっているからです。
viエディタのモード | 効果 |
---|---|
コマンドモード | コマンドを入力するモード。カーソルの移動や検索や保存などが可能 |
入力モード | 文字を入力するモード |
viエディタを起動したときはコマンドモードになっています。文字を入力したい場合には入力モードに変更するコマンドを入力します。
viエディタの入力モード移行コマンド | 効果 |
---|---|
i | カーソルの前に文字を入力 |
I | カーソルの先頭に文字を入力 |
a | カーソルの後ろに文字を入力 |
A | カーソルの末尾に文字を入力 |
o | カーソルの下に新しい行を追加して入力 |
O | カーソルの上に新しい行を追加して入力 |
「i」と「a」はどちらかを覚えておけば問題ありません。
「I」と「A」も覚えておくと稀に効率化出来ます。
逆に入力モードからコマンドモードに変更したい場合は、キーボードの「Esc」を押します。
viエディタの保存方法と終了方法
viエディタの保存方法
viエディタで編集した後の保存方法について説明します。
viエディタの保存コマンド | 効果 |
---|---|
:w | 編集しているファイルを保存する |
:w ファイル名 | ファイル名を変更して保存、または新規保存 |
viエディタの起動方法で「vi」のみでファイル名を指定せずに起動した場合は、ファイル名を指定しないと保存できません。
viエディタの終了方法
viエディタの終了方法について説明します。
viエディタの終了コマンド | 効果 |
---|---|
:wq | 編集しているファイルを保存して終了 |
:q! | 編集を破棄して終了 |
:wq ファイル名 | ファイル名を変更して保存して終了、または新規保存して終了 |
viエディタの便利なコマンド
viエディタで便利で効率化できそうなコマンドを一つ紹介します。
viエディタの便利なコマンド | 効果 |
---|---|
:e! | 編集している内容を破棄して再読み込みする |
viエディタで編集していて、どこを編集したか忘れた。。編集していたけど最初からやり直したい。。そういった場合に編集を破棄して終了⇒再度ファイルを開いて編集としていませんか?
そういった場合はviコマンドの「:e!」で再読み込みすると効率化良いです。
viエディタでカーソルを移動する
Linuxの設定ファイルなどは行が多く、viエディタで編集したい場所へ行くまでが大変ではないでしょうか?
そういった場合にカーソルの移動コマンドを使用すると効率化出来ます。
viエディタのカーソル移動コマンド | 効果 |
---|---|
G | ファイルの最後まで移動 |
1G | ファイルの一行目まで移動 |
nG | ファイルのn行目まで移動。nは行数を指定する |
0 | 現カーソルの先頭に移動 |
$ | 現カーソルの末尾に移動 |
Ctrl+f | ファイルの末尾に向かい1画面ずつスクロール |
Ctrl+b | ファイルの先頭に向かい1画面ずつスクロール |
Linuxの設定ファイルで最後の行に設定追加する事が良くあります。そんな時は「G」で移動しましょう!
先頭に移動するには「1G」です。14行目に移動なら「14G」です。
移動する行数を見たい場合は、以下のコマンドで表示できます。
viエディタで行数を表示する | 効果 |
---|---|
:set number | 行数を表示する |
:set nonumber | 行数表示を解除する |
また設定ファイルは長い為、「Ctrl+f」または「Ctrl+b」でスクロールしましょう!
viエディタで検索する
またviで指定した文字列にカーソル移動したい場合や、設定を見たい場合には検索がオススメです。
viエディタの検索コマンド | 効果 |
---|---|
/検索文字列 | カーソルから下に向けて検索 |
?検索文字列 | カーソルから上に向けて検索 |
n | 検索した後、同じ向きに再検索 |
N | 検索した後、逆の向きに再検索 |
設定ファイルやログは長いので、スクロールで見ずに検索する事でかなり効率化できます。
次の文字列に再検索する方法も覚えておきましょう!
viエディタの編集でよく使用するコマンド
viエディタで編集する時に、一文字ずつ編集して時間を費やしていないでしょうか?
そんな時は編集で効率化できるコマンドを使用しましょう!
最低限覚えておくと良いコマンドをまとめます。
viエディタの基本編集コマンド | 効果 |
---|---|
dd | カーソルの一行を削除 |
yy | カーソルの一行をコピー |
p | コピーしていたらカーソルの下の行へペーストする |
P | コピーしていたらカーソルの上の行へペーストする |
ndd | カーソルからn行削除 |
nyy | カーソルからn行コピー |
覚えておけば効率化できるが、あまり使わないコマンドも紹介しておきます。
viエディタの応用編集コマンド | 効果 |
---|---|
x | カーソルの1文字削除 |
dw | カーソルから次の単語を削除 |
D | カーソルから行の最後まで削除 |
dG | カーソルから最終行まで削除 |
dH | 1行目からカーソル行まで削除 |
yI | 1文字コピー |
yw | カーソルの単語をコピー |
y0 | カーソルの先頭からカーソルの直前までコピー |
編集モードに移行せずに1文字削除やカーソルから行の最後まで削除できたりします。慣れれば効率が上がります。
しかし入力モードに移行して「Back Space」や「Delete」を使う方が良い方はそれでよいと思います。
viエディタのその他の便利コマンド
viエディタでその他で便利なコマンドもありますのでご紹介します。
viエディタのその他の便利コマンド | 効果 |
---|---|
u | 最後に実行した編集の取り消し。WindowsでいうCtrl+z |
. | 最後に実行した編集の繰り返し。WindowsでいうF4 |
~ | カーソルの文字の大文字小文字を変換する |
viエディタでの編集の取り消しは覚えておきましょう!Windowsの「Ctrl+z」をするとviエディタが終了してしまいます。
まとめ:Linuxのviの使い方
Linuxのviエディタの使い方について説明しましたがいかがだったでしょうか?
効率化できそうなコマンドなどあったのではないでしょうか?
とはいえ全て覚える必要はないので、よく編集の時に使用しそうなものから1つ1つ覚えて行って下さい!