Linux

【Linux】viコマンドの使い方とは?Linuxでファイルを編集しよう【現役インフラエンジニアが解説】

こんにちは、フルスタックエンジニアのryuです。

今回の記事ではLinuxのファイル編集で良く使うviコマンドについて解説していきます。viコマンドは普通のメモ帳とは違い、編集モードとコマンドモードの2種類のモードがあり、Linux初心者には扱いづらいものです。そこで、今回はviコマンドが使いこなせるようにviコマンドについて詳しく解説していきます。

関連【おすすめ】コマンドを打ちながらLinuxが学べるサイトInfraAcademy

サーバー構築を実践で身につけるInfraAcademy

※本ページには、プロモーション・アフィリエイトリンクが含まれています

Linuxのviコマンドの使い方とは?

viコマンドの使い方が良く分からない・・・

linuxのファイル編集コマンド”vi”を使いこなす方法を解説します!viコマンドは、ファイルを編集するときに使用します。

まず、viコマンドについて説明します。

viコマンドには2種類のモードがある

viコマンドには、編集モードとコマンドモードの2種類のモードがあります。viでファイルを開いたときに文字を入力しても文字が入力されません。それは、ファイルを開いた状態はコマンドモードになっているからです。この2種類のモードについて説明します。

  • コマンドモード→ファイルを開いたときのモード。コマンドが入力できる。文字を入力するときは、編集モードに移行するコマンドを入力する。
  • 編集モード→ファイルの文字を編集できるモード

実際にviコマンドを使いながら詳しく解説します。

viの基本的な使い方

では、実際にviコマンドを使って、viコマンドに慣れていきましょう。

まず、Linuxを起動して、以下のコマンドを入力します。そうすることで”test.txt”というファイルが作成され中身を編集することができます。

vi test.txt

##viコマンドがインストールされていない場合
apt-get update
apt-get install vim

コマンドを入力すると以下のような画面になります。test.txtは新規で作られたファイルのため、中身は空になります。

viでファイルを編集

では早速ファイルの編集をします。ファイルの編集モードに移行するためのコマンドは幾つかありますが今回は”i“を使います。

“i”を一回押すと文字は何も入力されませんが、コマンドモードから編集モードに移行しました。その次に適当に文字列を入力します。

viで文字を入力

そして、文字列の入力が完了したら、コマンドモードに移行します。

コマンドモードに移行する場合は、キーボードの[esc]キーを入力します。コマンドモードに移行したら、ファイルを保存して終了のコマンドを入力します。コマンドは”:qw“です。コマンドは画面下側に表示されます。そして、[Enter]を押してコマンドを実行します。

viのコマンドを使う

ここまででファイルの編集の基本動作が完了しました。

おさらいしましょう。まず、viコマンドでファイルを開きます。開いたら”i”を入力して編集モードに移行します。文字を入力し終えたら、[esc]キーを入力してコマンドモードに移行します。そして”:qw”のコマンドでファイルを保存して終了します。

以上がviコマンドの基礎動作になります。では次からはコマンドモードで私が良く使うものを紹介していきます。コマンドモードを使いこなせると、最速でLinuxの編集ができるようになります。

viで良く使うコマンド

では、viのコマンドモードで便利なものを紹介します。ファイルを効率よく編集したい方は必見の内容です。

  • ファイルの編集する位置への移動
  • 文章を削除する”x”コマンド

ファイルの文字が多いファイルを例にするので、bindの設定ファイルを開きます。

#vi /etc/bind/named.conf.default-zones

bind9をインストールしていない方は、こちらの記事で詳細を解説しているので参考にしてください。

では、viのコマンドモードについて詳しく解説します。

ファイルの編集する位置への移動

ファイルの編集位置の移動はカーソルキーで行います。しかし、カーソルキーで移動する場合は、一文字づつしか動かないためスピードが遅いです。※編集モードでカーソルキーを入力すると変な文字が入力されるので注意しましょう。

指定した場所に移動する便利なコマンドは2種類あります。

  • :[数字] ・・・指定した数字の行に移動
  • /[検索したい文字] + ”n” ・・・検索した文字列に移動。”n”で次の文字に移動。

/etc/bind/named.conf.default-zonesを例にして、実際にやってみましょう。

27行目の「db.255」を編集したい場合は、①”:27″で27行目に移動してカーソルキーで編集する位置まで移動する。②”/255″→”n”で移動するの2パターンがあります。

指定した行数に移動

文章を削除する”x”コマンド

コマンドモードで文字を削除する場合は、”x“を入力します。しかし、”x”コマンドだけでは、一文字のみしか削除できないため、文章を消す際は、”x”を連打しなければなりません。そこで、大量の文章でも効率良く削除する方法を解説します。

  • “dd” ・・・・一行切り取り
  • ”d” + “[shift] + g” ・・・カーソルから下すべて切り取り
  • “dw” ・・・単語切り取り

“d”コマンドは削除というよりは切り取りなので、”p“を押すと切り取った部分を貼り付けることができます。貼り付けなければ削除と同じです。

間違えて削除した場合でも、”u”コマンドを使うと一つ前の作業に戻ることができます。

viコマンドの使い方まとめ

今回の記事ではviコマンドについて解説していきました。今回は初級編ということで、文字の入力、カーソルの移動、文字の削除を紹介しました。

viにはさらに便利なコマンドがるので、次の記事で紹介していこうと思います。

Linuxの使い方など、インフラに関連する技術を当ブログで紹介しているので、興味のある方はこちらからご覧ください。

ABOUT ME
ryu@InfraAcademyというインフラ学習サービス運営
InfraAcademyというインフラエンジニア向けの学習サービスを運営しております。 インフラエンジニアからフルスタックエンジニア、PdM サーバ、ネットワーク、セキュリティ、クラウドについて投稿します。
RELATED POST