web-dev-qa-db-ja.com

vimで選択を検索

C++を作成するときは、Visual Studioのvimおよびvimプラグインを使用します。多くの場合、関数内の文字列、たとえばobject->public_member.memberfunc()の呼び出しごとに文字列を検索したいと思うことがよくあります。

Vimは*および#を押すことで単一のWordを検索する便利な方法を提供し、ユビキタススラッシュ/コマンドを使用して入力された文字列を検索することもできます。上記のような長い文字列のすべてのインスタンスを検索しようとすると、/の後に再入力するのに時間がかかります。

選択を検索する方法はありますか?たとえば、vで強調表示し、yでコピーします。/の後に貼り付ける方法はありますか?もっと簡単なショートカットはありますか?

102
Marcin

このVimのヒントを確認してください: 視覚的に選択されたテキストを検索

または、選択したテキストをyでヤンクして、検索モード/、最後にヤンクしたテキストをCtrl + R 0で貼り付けることができます

147
CMS

回答

  1. 検索するテキストをヤンクします
  2. q/p
  3. Enter

説明

q/は、バニラ検索と同様に機能します/はコマンドモードであるため、pは実際に文字pを入力する代わりに「貼り付け」を行います。したがって、上記は検索するテキストをコピーし、検索に貼り付けます。

詳細を入力するには、:help q/

74
Cory Klein

/の代わりにq/を使用します。 (qと同じ)。これで、コマンドと検索履歴を介してVIM編集できます! (Ctrl-NとCtrl-Pをいつか試してください)。

37
arcanex

そのためのプラグインがあることを(優秀な本Practical Vimを通して)知りました。 GitHubのプラグイン を見つけることができます。

このプラグインを使用すると、*および#を使用して視覚的な選択を検索できます。

9
cutemachine

実際にテキストを視覚的に選択し、*および#を押して次の出現箇所を検索することができます...動作は同じですが、唯一の注意点は次のとおりです。

検索時の選択範囲内の空白は、任意の空白と一致します(「hello world」を検索すると、行の末尾に「hello」が見つかり、次の行の先頭に「world」が含まれます)。

http://vim.wikia.com/wiki/Search_for_visually_selected_text

2
AhHatem