LinuCレベル1 101試験の例題と解説

1.03.5エディタを使った基本的なファイル編集の実行

LinuCレベル1 101試験の試験範囲から「1.03.5 エディタを使った基本的なファイル編集の実行」についての例題を解いてみます。ここでは、viコマンドについて確認しておきましょう。

Linucレベル1 101試験 出題範囲


例題

viのコマンドモードでの操作に関しての問題です。
viエディタで、/testコマンドを実行し、testという単語をカーソル位置から下方向に向かって検索をしている。現在のカーソル位置から下方向に、次の"test"を検索する時に使用するコマンド(キー)を選択してください。

  1. n
  2. N
  3. l
  4. L

※この例題は実際の試験問題とは異なります。


解答と解説

正解は、「1. n」です。

viは、テキストファイルを編集するためのコマンドです。

viには、コマンドモードと入力モードの2種類があります。
入力モードは、ファイルに文字を入力する際に利用するモードです。一方、コマンドモードはファイルのカーソル移動や、コピーペースト、変更した内容の保存などを行うモードです。

コマンドモード状態で使用できる操作は多くあります。ここでは問題にあった検索に関連する一部のコマンドを解説します。

/[文字列]カーソル位置から、下の方向に向かって指定した文字列を検索する
例) /hello と入力すると、カーソル位置から下に向かって "hello" という文字列を検索
?[文字列]カーソル位置から、上の方向に向かって指定した文字列を検索する
例) ?world と入力すると、カーソル位置から上に向かって "world" という文字列を検索

また、/や?で文字列を検索した後、さらに文字列に一致する箇所を検索することもできます。

n直前に行った検索を、同じ方向に繰り返して検索する
例)/hello の後に「n」を押すと、下方向に"hello" を検索
例)?world の後に「n」を押すと、上方向に"world" を検索
N直前に行った検索を、逆の方向に繰り返して検索する
例) /hello の後に「N」を押すと、上方向に"hello" を検索
例)?world の後に「N」を押すと、下方向に"world" を検索

次は"vi filename.txt"でファイルを編集している画面を想定した内容です。なお紙面では現在のカーソル位置の表現が難しいため、便宜的に先頭行の「h」にカーソルがあると考えてください。

コマンドモードで「/hello」を入力すると、画面の下部に次のようにコマンドが表示されます。

filename.txt

hello world
 world hello

/hello         ← 検索コマンド

そして、Enterキーで検索を実行すると、カーソル位置から下方向に検索が行われます。

filename.txt

hello world    ← 初回の検索実行後にこの行のhelloがマッチする
 world hello

/hello

さらに継続して検索するための「n」キーを入力すると、次の行のhelloがマッチします。

filename.txt

hello world
 world hello   ← 次のhelloがマッチする

/hello

選択肢の解説は以下です。

今回は、まず、/testコマンドを実行して"test" という単語を下方向に検索しています。

次に、さらに下方向に"test"を検索したいという問題です。

1.n
正解です。

「n」キーを実行すると、さらに下方向に"test"を検索を行うことができます。

2.N
不正解です。

「N」キーを実行すると、上方向に"test"を検索をします。

3.l
不正解です。

コマンドモードで「l」キーを実行すると、カーソルの位置が右に1文字移動します。

4.L
不正解です。

コマンドモードで「L」キーを実行すると、カーソルの位置が画面の一番下の行に移動します。「L」キーは、表示されている画面内での移動ができるキーであり、ファイル全体の最終行ではなく、画面に見えている最後の行に移動します。

ファイル全体の最終行へは、「G」キーで移動することができます。

今回は、viコマンドのコマンドモードでの操作を一部確認しました。viコマンドの操作を覚えることで、ファイルの編集や検索等を効率的に行うことができます。操作方法を確認しておきましょう。


例題作成者

株式会社デージーネット 経営企画室 宮本 郁実

ページトップへ