logo

Vi エディターでの検索と置換をマスターする

Vi Editor は、効率性と多用途性で知られる強力なテキスト エディタであり、Unix/Linux ユーザーにとっての定番ツールです。検索と置換の機能を使いこなすと、生産性が大幅に向上し、テキスト編集タスクが合理化されます。この包括的なガイドでは、Vi Editor 内でテキストを効果的に検索および置換するためのさまざまなテクニックと戦略を詳しく掘り下げ、ユーザーがその可能性を最大限に活用できるようにします。

目次



VI エディタについて理解する

検索と置換の操作を詳しく理解する前に、基本を理解することが重要です。 私たち編集者 。 1976 年に Bill Joy によって開発された Vi Editor は、テキストを挿入するための挿入モードとコマンドを実行するためのコマンド モードという 2 つの主要なモードを提供します。 Vi 内で効率的にナビゲーションや編集を行うには、これらのモードに慣れることが不可欠です。

vi エディターには 2 つのモードがあります。

  • 挿入モード
  • コマンドモード

viエディタでの検索

vi エディターで単語を検索するには、次の手順に従います。



ステップ1: プレス ESC 挿入モードの場合

ステップ2: プレス /

ステップ 3: 検索したい単語またはパターンを入力します



ステップ 4: プレス 入力 お互いに

ステップ5: プレス ' ん」 次に出現する単語/パターンを検索し、「 前の出現箇所に移動する

例: /is

2023-09-27-19-16-27 のスクリーンショット

前のコマンドでは、' を検索している場合と同様に、単語内のパターンを検索していることがわかります。 は' その場合、前のコマンドには「」も含まれます 分布' 「」が含まれているため、 ' が含まれていますが、単語全体を検索したい場合は、以下の手順に従ってください。

ステップ1: プレス ESC 挿入モードの場合

ステップ2: プレス /

均一な混合物

ステップ 3: タイプ < 単語の始まりをマークする

ステップ 4: 検索したい単語を入力してください

ステップ5: タイプ > 単語の終わりをマークする

ステップ6: プレス 入力 言葉を探すために

例: /\

2023-09-27-19-29-02 のスクリーンショット

viエディタでの置き換え

vi エディターで単語を検索して置換するために使用します :substitute または :s コマンドのコマンド構文は次のとおりです。

:[range]s/{pattern}/{string}/[flags] [count]>

このコマンドは、[範囲] 行のパターンを検索し、[パターン] を [文字列] に置き換えます。 [range] が指定されていない場合、コマンドは現在の行の単語を [string] のみに置き換えます。

例 - :s/あった/あった

2023-09-27-19-52-13 のスクリーンショット

add という単語のすべての出現を置き換える場合、前のコマンドは [word] の 1 つの出現のみを置き換えることに気づきました。 g コマンド内のフラグ、

例 – :s/was/were/g

Vi エディターを使用してファイル内のすべての出現箇所を置換するには

ファイル内のすべての出現箇所を置き換えるには、ワイルドカード文字 ' を使用します。 %' 、それを使用するには、コマンドの前に「%」文字を追加するだけです。

例 – :%s/was/were/g

2023-09-27-20-00-12 のスクリーンショット

プロローグとは何ですか

Vi エディターで指定された範囲内の単語を置換します。

の構文では、 :s この記事の前半で説明したコマンドでは、コマンドに範囲を追加して、指定された範囲内の単語のみを置換する方法を説明しました。

:[range]s/[word]/[string]/[flag]>

例 - :3,10s/あった/あった/g このコマンドでは、エディターは 3 行目から 10 行目 (極端な部分も含む) の単語「was」を「were」に置き換えます。

以下に示すコマンドにワイルドカード文字を追加することもできます。

  • % (パーセンテージ): ファイル内のすべての行と一致します。
  • 。 (ドット): 現在の行を参照します
  • $ (ドル): ファイルの終わりを示します

例:

  • :.,$s/だった/いた/g – 現在の行からファイルの終わりまでに出現するすべての単語「was」を「were」に置き換えます。
  • :1,.s/あった/あった/g – ファイルの先頭から現在の行までに出現するすべての単語「was」を「were」に置き換えます。

例:

以下のスクリーンショットでは、コマンド :.,$s/だった/いた/g 現在の行からファイルの終わりまでに出現する単語「was」をすべて「were」に置き換えます。

2023-09-27-20-06-45 のスクリーンショット

Vi エディターで大文字と小文字の区別を無視する

パターン/単語の大文字と小文字の区別を無視するには、「i」フラグを使用し、上記のコマンドのいずれかでこのフラグを使用できます。

例 – :1,.s/Was/were/gi

完全な形のアイデア

2023-09-27-20-17-09 のスクリーンショット

Vi エディターで検索および置換する方法 – FAQ

Vi エディターで特定の単語を検索するにはどうすればよいですか?

Vi エディターで特定の単語を検索するには、検索コマンドを使用します。 Vi では、` を押すと検索モードが有効になります。 /`> に続いて検索したい単語を入力し、` を押します。 Enter`> 。 Vi は単語の最初の出現を強調表示し、` を使用して複数の出現をナビゲートできます。 n`> 次の出現時または ` N`> 前回のものについては。

/word_to_search>

Vi エディターで単語の複数のインスタンスを一度に置き換えることはできますか?

はい、Vi エディターで置換コマンドを使用して、単語の複数のインスタンスを一度に置換できます。コマンドモードで「`」と入力します。 :%s/old_word/new_word/g`> そして`を押してください Enter`> 。このコマンドは、出現するすべての ` を置き換えます。 old_word`> `付き new_word`> ファイル全体にわたって。

:%s/old_word/new_word/g>

Vi エディターの検索モードと置換モードの違いは何ですか?

Vi エディターでは、テキスト内の特定のパターンの出現を見つけるために検索モードが使用され、パターンの出現を別の文字列で置き換えるのに置換モードが使用されます。 `を押すと検索モードが有効になります。 /`> 、置換モードは置換コマンド ` を使用して有効になります。 :%s/old_pattern/new_string/g`>

検索モードの場合:

/pattern_to_search>

置換モードの場合:

:%s/old_pattern/new_string/g>

Vi エディターで大文字と小文字を区別した検索または置換を実行するにはどうすればよいですか?

Vi エディターで大文字と小文字を区別した検索を実行するには、` /`> コマンドの後に ` c`> 検索パターンの前に。

例えば : `を検索するには word`> 大文字と小文字を区別して「`」と入力します。 //c`> そして`を押してください Enter`> 。大文字と小文字を区別して置換するには、` を付けた置換コマンドを使用します。 g`> フラグ: ` :%s/old_word/new_word/g`>

大文字と小文字を区別して検索する場合:

//c>

大文字と小文字を区別して置換する場合:

:%s/old_word/new_word/g>

Vi エディターでの検索または置換操作を元に戻す方法はありますか?

はい、Vi エディターでの検索または置換操作は、` を使用して元に戻すことができます。 u`> コマンドモードでコマンドを実行します。検索または置換操作を実行した後、` を押すだけです。 u`> , Vi Editor はファイルに加えられた最後の変更を元に戻し、ファイルを以前の状態に戻します。

u>

結論

この記事では、Vi エディターでテキストを検索および変更する方法について説明しました。 Linux 。私たちは、Linux と Vi Editor が何であるかを理解することから始めました。次に、Vi エディターで単語やフレーズを検索し、新しいものに置き換える方法を検討しました。また、単語全体を検索したり、大文字と小文字を区別して変更したりするなど、いくつかの便利なテクニックも検討しました。さらに、変更を元に戻す方法などのよくある質問についても説明しました。これらのヒントに従うことで、Vi エディターでのテキスト編集をより効率的に行うことができます。