vimエディタ・スターターマニュアル #5 (検索、置換)
vimエディタをはじめて扱う人が、だましだましvimエディタでの作業を開始できるようにするための、チュートリアルよりも小さな、しかし必要な情報は盛り込んだ、最小のユーザマニュアルを目指して作成したドキュメントです。 このページでは、 ビジュアルモード~ テキストの検索~ テキストの置換 までを扱います。 (Windows, Mac)
ビジュアルモード
ノーマルモードで v を押すと、vimエディタのモードがビジュアルモードになります。
このビジュアルモードでカーソルを動かすと、
ビジュアルモードを開始した位置から、カーソルの位置までのテキストが選択されます。
このテキストを選択した状態で y を押すと、選択したテキストをコピーします。
これは通常のテキストエディタで、マウスで範囲を選択してのコピーと似た操作です。
マウスで範囲を選択する代わりに、ビジュアルモードで範囲を選択したのです。
この操作でコピーしたテキストは、通常のコピーと同じく、 ノーマルモードで p を押すことでペーストできます。
Note
ビジュアルモードからノーマルモードに戻るには ESC キーを、
ノーマルモードからビジュアルモードにモードを変更するには v キーを
押します。
選択したテキストのカット
ビジュアルモードでテキストを選択した状態で、 y の代わりに d を押すと、 選択したテキストのカットができます。
テキストの検索
テキストを検索するには、ノーマルモードで / と入力します。
/ を押すと、検索ワードを入力できるようになるので、
この状態で、検索ワードを入力して Enter キーを押すと、
検索でヒットしたテキストの位置にカーソルが移動します。
Note
検索を開始するには、ノーマルモードで / を押します。
その状態から、検索をせずに、ノーマルモードに戻るには ESC キーを押します。
検索に複数マッチ
一回の検索に複数がヒットした場合は、ノーマルモードで n キーを押すと、
検索でヒットした位置に、順にカーソルを移動できます。
n の代わりに N を押すと、逆順にカーソルを移動していきます。
キー入力 | 説明 |
---|---|
n | 検索にヒットした位置にカーソルを移動 |
N | 検索にヒットした位置にカーソルを移動(逆順) |
テキストの置換
テキストを置換するには、コマンドラインモードで :substitute コマンドを使用します。
:substitute コマンドは次のように使用します。
(「:substitute」は長いので、「:s」で置換処理を実行する方がほとんどです。)
:s/{置換するテキスト}/{置換後テキスト}/
最も単純な、この形式のコマンドで置換処理を実行すると、
一般的なテキストエディタの置換処理とは異なり、
カーソルのある行の、最初にマッチしたテキストのみが置換されます。
置換処理の範囲とオプションの指定
置換処理実行時に、置換処理の範囲と、置換処理のオプションを指定するには、 次のようにコマンドを実行します。
:{コマンドの処理範囲}s/{置換するテキスト}/{置換後テキスト}/{オプション}
範囲指定 | 説明 |
---|---|
% | ファイル全体を置換処理の対象とする。 |
{行数A},{行数B} | 行数Aから、行数Bまでの範囲の行を置換対象とする。 |
オプション | 説明 |
---|---|
g | その行でマッチしたテキスト全てを置換する |
c | 処理を行う前に、置換処理をするかどうかを確認する。 |
一般的なテキストエディタの置換のような、
ファイル全体の、マッチした全てのテキストを対象とした置換を行うには、
「%」の範囲指定と、「g」の検索オプションを使用して次のようにコマンドを実行します。
:%s/{置換するテキスト}/{置換後テキスト}/g