はじめに (対象読者・この記事でわかること)

この記事は、Linuxサーバーや開発環境での作業に慣れてきたものの、「vi」や「vim」でのテキスト編集、そして「nmtui」のようなツールを使ったネットワーク設定画面の操作にまだ自信がない、あるいはより効率的な方法を知りたいと考えている方々を対象としています。

この記事を読むことで、vi/vimの基本的な画面操作、ウィンドウ分割、バッファ切り替えといったテクニックを習得し、複雑なテキスト編集をスムーズに行えるようになります。さらに、nmtuiを使ってネットワーク設定画面を視覚的かつ直感的に操作する方法、そしてこれらを組み合わせることで、ターミナル上での作業効率を劇的に向上させるための具体的な手法を理解できるようになります。

サーバー管理や開発作業において、ターミナルでの操作は避けて通れません。本記事で紹介するテクニックを習得することで、日々の業務や学習の質を高める一助となれば幸いです。

vi/vimの画面操作:テキスト編集を快適にする基本テクニック

vi/vimは、その強力な編集機能とカスタマイズ性から、多くの開発者やサーバー管理者に愛用されています。しかし、その独特な操作体系に戸惑う方も少なくありません。ここでは、vi/vimにおける基本的な画面操作に焦点を当て、テキスト編集をより快適にするためのテクニックを解説します。

vi/vimの基本画面構成とモード

vi/vimを使い始める上で最も重要なのは、その「モード」という概念を理解することです。vi/vimには主に以下のモードがあります。

  • ノーマルモード: コマンド入力や移動、コピー、ペーストなどの操作を行います。起動時はこのモードになっています。
  • 挿入モード (インサートモード): テキストを入力するためのモードです。iaoなどのキーでこのモードに移行します。
  • ビジュアルモード: テキストの範囲を選択するためのモードです。vVCtrl+vなどで移行します。
  • コマンドラインモード: ファイルの保存、終了、検索、置換などのコマンドを実行するためのモードです。ノーマルモードで : を入力することで移行します。

これらのモードを理解し、ノーマルモードと挿入モードを切り替えながら作業することが、vi/vim操作の基本となります。

画面分割とウィンドウ操作

vi/vimの強力な機能の一つに、画面分割があります。これにより、複数のファイルを同時に開いたり、同じファイルを異なる箇所に表示したりすることが可能になり、コードの比較や編集作業が格段に効率化されます。

  • 水平分割: :sp <ファイル名> または :split <ファイル名> コマンドで、現在のウィンドウを水平に分割し、指定したファイルを開きます。(ファイル名を省略すると、空のウィンドウが開かれます。)
  • 垂直分割: :vsp <ファイル名> または :vsplit <ファイル名> コマンドで、現在のウィンドウを垂直に分割し、指定したファイルを開きます。(ファイル名を省略すると、空のウィンドウが開かれます。)

画面分割後、ウィンドウ間を移動するには以下のキーを使用します。

  • Ctrl+w 続けて h (左のウィンドウへ)
  • Ctrl+w 続けて j (下のウィンドウへ)
  • Ctrl+w 続けて k (上のウィンドウへ)
  • Ctrl+w 続けて l (右のウィンドウへ)
  • Ctrl+w 続けて w (次のウィンドウへ巡回)

ウィンドウのサイズを変更したい場合は、Ctrl+w 続けて + (高さを増やす)、- (高さを減らす)、> (幅を増やす)、< (幅を減らす) を使用します。

  • ウィンドウのクローズ: Ctrl+w 続けて c または :q (現在のウィンドウを閉じる)、:only (現在のウィンドウのみを残して他を全て閉じる) コマンドを使用します。

タブ機能とバッファ操作

vi/vimには、ウィンドウとは別に「タブ」という概念もあります。タブは、複数のウィンドウをまとめるための機能です。

  • 新しいタブを開く: :tabnew <ファイル名> または :tabe <ファイル名>
  • 次のタブへ移動: gt または :tabn
  • 前のタブへ移動: gT または :tabp
  • 指定したタブへ移動: [数値]gt (例: 2gt で2番目のタブへ)
  • タブを閉じる: :tabclose または :tabc

また、vi/vimは「バッファ」という概念も重要です。バッファとは、現在開いているファイルや、過去に開いてメモリ上に展開されたファイルのことです。

  • 開いているバッファ一覧を表示: :ls または :buffers
  • 指定したバッファに切り替える: :buffer [バッファ番号] または :b [バッファ番号] (例: :b 2)
  • バッファを名前で切り替える: :buffer [ファイル名] または :b [ファイル名] (例: :b file.txt)

これらの画面分割、タブ、バッファ操作を使いこなすことで、複数のファイル間での作業や、複雑な編集作業を効率的に行うことができるようになります。

nmtui:ネットワーク設定を視覚的に簡単操作

「nmtui」(NetworkManager Text User Interface)は、LinuxシステムでNetworkManagerのネットワーク設定を、ターミナル上でテキストベースのグラフィカルインターフェースで操作できるツールです。コマンドラインから直接設定ファイルを編集するよりも、視覚的で直感的にネットワーク設定を行えるため、特にGUI環境がないサーバーでの作業や、ネットワーク設定に慣れていないユーザーにとって非常に便利です。

nmtuiの起動と基本画面

nmtuiを起動するには、ターミナルで以下のコマンドを実行します。

Bash
sudo nmtui

sudo が必要なのは、ネットワーク設定はシステム全体に関わるため、管理者権限が必要だからです。

起動すると、以下のようなメニューが表示されます。

  • Edit a connection: 既存のネットワーク接続(有線、無線など)を編集または作成します。
  • Activate a connection: ネットワーク接続を有効化または無効化します。
  • Set system hostname: システムのホスト名を変更します。
  • Set domain name: システムのドメイン名を設定します。
  • Set search domains: DNS検索ドメインを設定します。
  • Show/hide options: 各設定項目で詳細オプションを表示/非表示します。
  • Quit: nmtuiを終了します。

これらのメニューは、矢印キーで選択し、Enterキーで確定します。

接続の編集・作成方法

「Edit a connection」を選択すると、現在システムに認識されているネットワークインターフェース(eth0wlan0など)が表示されます。

  1. 新しい接続の追加:

    • 「Add」を選択し、Enterキーを押します。
    • 接続タイプ(IPv4、IPv6、Wi-Fiなど)を選択します。
    • 「Device」で対象のインターフェースを選択します。(例: eth0
    • 「Profile name」で接続の名前を付けます。(任意)
    • IPアドレス、ネットマスク、ゲートウェイ、DNSサーバーなどの設定を行います。DHCPを使用する場合は「Automatic」を選択します。
    • 設定が完了したら、「OK」を選択してEnterキーを押します。
  2. 既存の接続の編集:

    • 編集したい接続を選択し、Enterキーを押します。
    • 表示された設定項目を矢印キーとEnterキーで変更し、必要に応じて「Show/hide options」で詳細設定を開きます。
    • 設定が完了したら、「OK」を選択してEnterキーを押します。

接続の有効化・無効化

「Activate a connection」を選択すると、利用可能なネットワーク接続とその状態(Active/Inactive)が表示されます。

  • 有効化: 無効化されている接続を選択し、Enterキーを押すと「Active」に切り替わります。
  • 無効化: 有効化されている接続を選択し、Enterキーを押すと「Inactive」に切り替わります。

設定変更を適用するには、各設定画面で「OK」を選択し、nmtuiを終了する必要があります。

nmtuiは、コマンドラインでの複雑な設定作業を回避し、迅速かつ正確にネットワーク設定を行いたい場合に非常に有効なツールです。vi/vimで設定ファイルを直接編集するのではなく、nmtuiのようなテキストベースのUIツールを活用することで、作業の安全性と効率性を高めることができます。

まとめ

本記事では、vi/vimとnmtuiという、Linux環境における代表的なターミナル操作ツールに焦点を当て、画面操作と効率化のテクニックを解説しました。

  • vi/vim: 基本的なモード理解、画面分割、ウィンドウ移動、タブ機能、バッファ操作といった、テキスト編集作業の効率を飛躍的に向上させるための操作方法を習得しました。
  • nmtui: ネットワーク設定を視覚的かつ直感的に行えるテキストベースのUIツールとして、その起動方法、基本画面、接続の編集・作成・有効化・無効化といった一連の操作手順を理解しました。

これらのツールを使いこなすことで、ターミナル上での作業がよりスムーズになり、サーバー管理や開発業務における生産性の向上に繋がることを期待します。

今後は、vimのプラグイン活用による更なるカスタマイズや、より高度なネットワーク設定(ルーティング、ファイアウォールなど)をコマンドラインで直接行う方法についても、記事にする予定です。

参考資料