viエディタとは
viエディタとはLinuxで使用される、
テキストファイルを編集するためのツールです。
編集や保存など、ファイルの中身に対する操作を行うことが出来ます。
今回はこのツールの基本的な使い方とコマンドについてまとめていきます。
viエディタの使い方
まずは以下のコマンドで編集したいファイルを開きます。
$ vi <ファイル名>
これで編集準備完了です。
(ちなみにこの時、存在しないファイル名を指定すると、新しいファイルが作成されますのでご注意ください。)
モード切替
ややこしいことに、viエディタには2つのモードが存在します。
①入力モード …テキストを直接編集する
②コマンドモード …それ以外の操作全般
操作をするには、これらのモードを上手く使い分けていく必要があります。
モードの切り替え方法はシンプルです。
モード切り替え | |
---|---|
i |
コマンドモード → 入力モードへ切り替える |
Escキー |
入力モード → コマンドモードへ切り替える |
先ほどの$ vi <ファイル名>
でファイルを開いた段階では
コマンドモードになっていますので、i
キーを押すことで入力モードに切り替わり、テキストの入力ができるようになります。
そして入力モード状態のときにはEscキー
を押すことで、
再びコマンドモードに切り替えることが出来ます。
カーソルの移動
カーソル移動は、キーボードの矢印キー(↑)(↓)(←)(→)でも可能ですが、
コマンドモードのときは以下のコマンドでも移動をすることができます。
カーソル移動 | |
---|---|
O | 行の先頭へ移動する |
$ | 行の末尾へ移動する |
gg | ファイルの先頭行へ移動する |
G | ファイルの最終行へ移動する |
nG | n行目に移動 |
操作別コマンド集
ここから先は、コマンドモード状態で使用できる操作についてまとめていきます。
これが全てではありませんが、知っていると便利そうなものを集めています。
削除コマンド
削除 | |
---|---|
x | カーソル位置の文字を削除(Deleteキーでも可) |
X | カーソル位置の手前の文字を削除(BackSpaceキーでも可) |
dd | カレント行(現在カーソルがある行)を削除 |
:%d | 全て削除 |
コピー・貼り付けコマンド
コピー・貼り付け | |
---|---|
yy | カレント行(現在カーソルがある行)をコピー |
:%y | 全選択してコピー |
p | カレント行の下にコピー内容を貼り付け |
P | カレント行の上にコピー内容を貼り付け |
検索コマンド
検索 | |
---|---|
/ [検索したい文字列] | カーソル位置より後ろを検索 |
? [検索したい文字列] | カーソル位置より前を検索 |
n | 次の検索結果の位置を表示 |
N | 次の検索結果の位置を表示(逆方向) |
:noh | 候補のハイライト表示を解除 |
置換コマンド
置換 | |
---|---|
:%s/[文字列A]/[文字列B] | 最初に見つかった文字列Aを文字列Bに置換 |
:%s/[文字列A]/[文字列B]/g | すべての文字列Aを文字列Bに置換 |
行番号表示コマンド
行番号 | |
---|---|
:set nu | 行番号を表示 |
:set nonu | 行番号を非表示 |
終了・保存コマンド
終了・保存 | |
---|---|
:q! | 内容を保存せずに終了 |
:wq | 内容を保存して終了 |
:w | 上書き保存 |
:e! | 最後に保存した内容に戻す |
その他便利機能
viエディタ操作中の便利機能として以下のようなものもあります。
その他機能 | |
---|---|
:!<コマンド> | viを起動させたままコマンドの内容を実行 |
例えばファイルを編集中、カレントディレクトリ(自分が今いるディレクトリ)のファイル一覧を確認したくなったとします。
この場合、一度編集を終了しls
コマンドで一覧を表示させるという方法もありますが、上記のコマンドを使うことで、エディタを終了させることなく手軽に一覧確認をすることが出来ます。
今回はviエディタの基本操作とコマンドについてまとめてみました。
新卒の頃から「とりあえずこれで何とかなりますように…」と書き溜めていたコマンドメモたちがお役に立てれば幸いです。
ありがとうございました!