このページで解説している内容は、以下の YouTube 動画の解説で見ることができます。

新Linuxコマンド演習22

新Linuxコマンド演習22 概要

 「新Linuxコマンド演習22」では、viエディタの中でも特に実務で頻繁に使用される便利な機能を学びます。
ここでは、以下の2つの重要な機能を中心に練習します。

  1. 文字列検索機能(/name など)
  2. エディタ設定コマンド(:set number, :set tabstop など)

 これらは大規模な設定ファイル(例:/etc/services、/etc/passwd など)を編集する際に欠かせません。
 検索コマンドを活用すれば目的の箇所を素早く見つけ、:setコマンドを使えば編集環境を自分好みにカスタマイズできます。

viエディタの基本構成と設定

viエディタでは、コマンドモードで操作を行います。
検索や設定変更もすべてコマンドモードで入力します。

主なモード切り替え方法を以下の表に示します。

モード操作内容切り替え方法
コマンドモード検索・設定・削除などを実行Escキーで戻る
挿入モードテキストを入力i または a

演習問題+模範解答例

演習01:vi エディタで文字列を検索する

問題
/etc/services ファイルを開き、name という文字列を検索してください。

模範解答例

[suzuki@AlmaLinux ~]$ vi /etc/services

操作手順

  1. Escキーを押してコマンドモードに戻る。
  2. /name と入力してEnterキーを押す。
  3. 一致する箇所がハイライトされ、カーソルが該当行へ移動する。
  4. 次の一致箇所へ移動するには n、前の一致へは Shift + n を押す。

検索コマンド一覧

コマンド説明
/文字列指定した文字列を下方向に検索
?文字列指定した文字列を上方向に検索
n同じ方向に次の検索結果へ移動
Shift + n逆方向に検索結果をたどる

出力例(抜粋)

rlp             39/udp          resource        # resource location
nameserver      42/tcp          name            # IEN 116
nameserver      42/udp          name            # IEN 116
nicname         43/tcp          whois
nicname         43/udp          whois
domain          53/tcp                          # name-domain server
domain          53/udp

解説

  • /name と入力すると、ファイル全体から「name」という文字列を検索します。
  • nを押すたびに次の一致箇所にジャンプします。
  • 大文字・小文字は区別されるため、両方検索したい場合は:set ignorecaseを使用します。

演習02:viエディタで行番号を表示する

問題
viエディタで /etc/services を開き、行番号を表示してください。

模範解答例

[suzuki@AlmaLinux ~]$ vi /etc/services

操作手順

  1. コマンドモードで : を入力。
  2. set number と入力してEnterキーを押す。

設定コマンド一覧

コマンド説明
:set number行番号を表示する。
:set nonumber行番号の表示を解除する。
:set tabstop=4タブ幅を4文字分に設定する。
:set ts=<数値>タブストップを任意の文字数に変更する。

出力例

 1 # /etc/services:
 2 # $Id: services,v 1.55 2013/04/14 ovasik Exp $
 3 #
 4 # Network services, Internet style
 5 # IANA services version: last updated 2013-04-10
 6 #
 7 # Note that it is presently the policy of IANA to assign a single well-kno...
 8 # port number for both TCP and UDP

解説

  • :set number を実行すると、各行の左に行番号が表示されます。
  • :set nonumber で非表示に戻せます。
  • この設定は一時的なもので、次回起動時にはリセットされます。
    永続化するにはホームディレクトリの .vimrc に追記します。

vi エディタ設定操作のまとめ

分類コマンド例内容
検索操作/name文字列を検索
検索結果移動n / Shift + n次・前の検索結果へ移動
行番号表示:set number行番号を表示
行番号非表示:set nonumber行番号を非表示に戻す
タブ幅設定:set tabstop=4タブ幅を4文字に設定
大文字小文字無視:set ignorecase検索時に大文字小文字を区別しない

補足
:set コマンドを活用すると、viの動作を柔軟にカスタマイズできます。
特に number や tabstop の設定は、コード編集や設定ファイルの整形に役立ちます。

まとめ

新Linuxコマンド演習22」では、viエディタの検索機能設定機能を学びました。

  • /文字列 で特定のキーワードを検索できる。
  • n、Shift + n で検索結果を移動できる。
  • :set number や :set tabstop=4 などで編集環境を整えられる。

これらの操作を習得することで、長大な設定ファイルの編集効率を大幅に向上させることができます。