【Linux初心者向け】できた!viコマンドで編集と保存

こんにちは!
株式会社ビヨンド四国オフィスのペルシャ猫、いのうえです。

今回はファイルを編集する「vi」コマンドについて!
オプション多くて検証に苦戦しました。

viコマンドってなんだ?

「vi」コマンドとは、「エディタを起動してー!」と命令するコマンドです。
そもそも「vi」がUnix系OSで使用されるテキストエディタのことを指しています。
同時にディレクトリにファイルが存在しない場合は、ファイル作成もしてくれます。
入社当初は、「エディタってそもそもなに???」って思ってましたが
Windowsでいうとこの「メモ帳」と考えるとわかりやすいですね。

viコマンドでファイルを作成し、編集しよう

まずは、「test」ディレクトリにviコマンドで「haruka」というファイル名を指定し、編集します。

[コード][root@test-aws-harukainoue test]# pwd
/root/テスト[/コード]
[root@test-aws-harukainoue test]# vi haruka

上記コマンドを実行すると「haruka」のノーマルモードに移動します。
この時はまだファイルは作成されていません。

-rw------ 1 root root 12288 Jun 23 01:21 .haruka.swp

このようなSWAPファイルが一時的に作成されます。
SWAPファイルとは、アプリケーションがクラッシュしてデータが消えてしまうことを防ぐために
viが開かれた時に作成され、viで編集後に自動で削除される一時的な記録ファイルのことです。
これにより、もしもviがシステムエラーで強制終了しても、保存前のデータが失われることを防ぐことが出来ます。
そのため「:w」が実行されたときに初めて「haruka」というファイルは作成される仕組みになっています。

ファイルの中身をviで編集する場合は、「i」キーを押し、「INSERT」モードにします。
挿入モードになると「haruka」ファイルの中に記述することが出来ます。
適当にプロフィールでも書いてみます。

井上明香(ペルシャ猫)<font></font>
趣味:料理<font></font>
好きなもの:いちごと猫<font></font>
<font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
-- 挿入 --[/コード]</font></font></pre>
「<strong>-- INSERT --</strong>」と表示されている間は、挿入モードになっています。
編集モードを抜ける時は「<strong>Esc</strong>」キーを押します。
<pre><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[コード]:wq[/コード]</font></font></pre>
挿入モードでエディタに内容を記述し、保存すると同時に「haruka」というファイルも作成されました!
viコマンドは、ノーマルモードから挿入モードに移行することにより、文字が打てるようになります。
既存のファイルがviで開かれている場合は上書き保存され
新しいファイルを開いていた場合は、ファイルが新規作成されます。
<pre><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">[コード][root@test-aws-harukainoueテスト]# ll</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
合計 4</font></font><font></font><font style="vertical-align: inherit;"><font style="vertical-align: inherit;">
-rw-r--r-- 1 root root 83 6月21日07:42 はるか

:」でコマンドモードに戻り、「wq」で上書き保存が出来ます。 また、保存済みのファイルを閲覧し終了する場合は、「q」 強制的にviを終了するときは「」を付けます。 例えばviで編集したものを変更内容を保存せず、破棄して終了する場合は

[コード]:q![/コード]

を使用します。

知っておくと便利!

■カーソル移動コマンド
矢印キーでも移動できますが知っておくと便利なカーソル移動コマンドをご紹介します。
※「Esc」キーを押下し、編集モードが終了していることを必ず確認して実行してください。

0(ゼロ) カーソルのある行の行頭にカーソルを移動する。
$ カーソルのある行の行末にカーソルを移動する
ぐぐ ファイルの先頭にカーソルを移動する。
G ファイルの末尾にカーソルを移動する。
ファイルの末尾にカーソルを移動する。

■削除コマンド

xもしくは、dl 現在のカーソル位置の文字を削除
DD 現在のカーソルのある行を削除
d$ 現在のカーソル位置から行末までを削除
d0 現在のカーソル位置から行頭までを削除
だわ 単語1つを削除
ディグ 最初の行まで削除
dG 最後の行まで削除

■ヤンク
コピー(ヤンク)したい場合は、yを使用します。
yの後ろにカーソル移動コマンドを指定して使用します。

やあ 現在のカーソル位置の行をヤンク

さいごに

viコマンドについてブログに書こうと思ったら、とにかく苦労しました。
viコマンドについて、分かってるようでわかってなかったんです。
エディタを編集した挿入モードから、コマンドモードにして、エディタを終了する正しい方法について。
それに含め、私のようなLinux初心者にわかる説明はどうすればいいのか・・・
トライアンドエラーを繰り返し、やっとこのブログが誕生しました!!(`・ω・´)

Linuxについて分かりやすく書いたブログもあるので、こちらもぜひ読んでみて下さい!
https://beyondjapan.com/blog/2022/02/linux/

【IT企業に就職するなら知っておけ!】今さら聞けないLinuxとは?(初心者向け編)

日々成長、日々前進。
毎日、私自身をアップデートしていかなければ!!!
最後まで読んでくださって、ありがとうございます。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
28
読み込み中...
28 票, 平均: 1.00 / 128
82,176
X facebook はてなブックマーク pocket

この記事をかいた人

About the author

井上明香

システムソリューション部に所属。
ビヨンドに四国オフィス設立メンバーとして入社。IT業界に未経験で飛び込みました。
教育チームとして、新卒、中途、既存メンバーのカリキュラムの作成や研修の実施を行っています。
主な業務は、サーバーの運用保守。
とにかく、お客様のコンテンツを大切に思っています。
Webコンテンツ事業部、YouTubeチームにも所属。