Linuxを使用していると、必ず使用する「vi」。
「vi」が何かと言うと、ファイルを編集する際に使用するコマンドです。
インフラエンジニアになりたてのころは、「vi」を打つと画面が切り替わって、元の画面に戻れないと焦ったものです。
そこでこの記事では、初級的なインフラエンジニアがよく使う「vi」コマンドの使い方を説明していきます。
ちなみに自分はCentOSしか触ったことないので、CentOSでの使用方法となります。
Linux系だと多分どれも一緒だと思いますが、自信はないのでCentOS以外で試す方は上手く動作しないかもしれません。
今回はCentos8.3で書きます。
ファイルを開く
今回はファイルがなかったので作成しますが、下記画像のように「vi」+ スペース + 「○○.txt」で対象のファイルを開きます。
開くと、何も入力していないのでまっさらな画面が出てきます
文字を入力する
viでファイルを開いただけでは文字を入力することは出来ません。
なぜなら今の状態は「コマンドモード」だからです。
viには二種類のモードがあります。
インサートモードに切り替えるには下記のどれかを使用します。自分が使いやすいものを利用してください。
ちなみにインサートモードからコマンドモードに切り替えるには、PCの左上にあると思われる『Esc』キーを押します。
ではコマンドモードから、文字が入力できるインサートモードに切り替えるコマンドを書いていきます。
- i
カーソル位置の前に文字を入力できます。
- I
カーソル位置の先頭から文字を入力できます。
- a
カーソル位置の後ろに文字を入力できます。
- A
カーソル位置の一番後ろから文字を入力できます。
- o
カーソルの一つ下に行ができ、そこから文字を入力できます。
- O
カーソルの一つ上に行ができ、そこから文字を入力できます。
ファイルを閉じる
viでファイルを閉じる方法は何種類かあります。ここでは私自身が良く使うものを書いておきます。
※下記に書いてあるコマンドですが、全てPCの左上にあると思われる『Esc』キーを押しコマンドモードでないと機能しないで注意してください。
- :q!
ファイルを保存せず閉じるコマンドです。
- :wq
ファイルを保存して閉じるコマンドです。
インフラエンジニアを1年していて、正直この上記二つしか使ったことありません。
ただもう2つほど書いておきます。
- :w
上書き保存するコマンドです。ファイルは閉じません。
- :w!
強制的に上書き保存するコマンドです。
ファイル内の文字を削除
ファイル内の文字を削除するには、コマンドモードで下記を入力します。
- dd
カーソル行を切り取り。つまり削除とコピーを同時に行っています。
- x
カーソルの後ろの文字を1文字削除。キーボードの「Deleate」と同じです。
ファイル内の文字をコピー&ペースト
ファイル内の文字をコピー&ペーストするには、コマンドモードで下記を入力します。
- yy
カーソル行の文字をコピーします。
- p
カーソルの下の行にコピーした文字を貼り付けします。
- P
カーソルの上の行にコピーした文字を貼り付けします。
ファイル内の文字を検索
ファイル内の文字を検索するには、コマンドモードで下記を入力します。
- /○○(検索したい文字)
カーソルより下方向で検索します。
- ?○○(検索したい文字)
カーソルより上方向で検索します。
- n
「/」か「?」にて検索した状態で、カーソルより下方向に次の該当文字を検索し移動します。
- N
「/」か「?」にて検索した状態で、カーソルより上方向に次の該当文字を検索し移動します。
ファイル内で行番号を振る
ファイル内で行番号を振るには、コマンドモードで下記を入力します。
- :set number
行番号が振れます。
- :set nonumber
行番号が消えます。
- :〇(行番号)
その行に移動できます。
コマンドモードでは、文字の入力以外の作業を行うことが出来ます。例えばviで開いているファイルを閉じたり、ファイルを保存したり、文字を検索したり、その他にもたくさんのことが出来ます。
こちらは単純に文字を入力することが出来るモードです。