パーソナルツール

vimエディタ・スターターマニュアル #5 (検索、置換)

作者: 小見 拓 最終変更 2012年01月08日 12時01分

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
一般的なエディタのような置換コマンドの実行
ドキュメントアクション
コメント
blog comments powered by Disqus