タグ付けされた質問 「search」

/またはsearch()でテキストを検索します。検索/置換操作の場合は、代わりにタグ[substitute]を使用してください。

3
ハイライトされた文字列を選択的に変更するにはどうすればよいですか?
検索して、変更したい文字列をハイライトしました。ここで、強調表示されたテキストのみを置き換えたいと思います。n検索文字列の次のインスタンスに進むために使用しています。私は何かができると思っていましたがciw、ハイライトされたテキストだけでなく単語全体が変更されました。 私は精通して:%s/old/new/gいますが、すべてのインスタンスを変更したくありません。代わりに、カーソルを各インスタンスに進め、それを変更するかどうかを決定します。
11 search  replace 

1
ウィンドウ/バッファごとに異なる検索パターン
どういうわけか、ウィンドウまたはバッファごとに異なる検索パターンを持つことは可能ですか?ウィンドウ/バッファAで用語Aを検索し、ウィンドウ/バッファBで用語Bを検索してhlsearch、を使用して、並列分割などで異なるものを強調表示したい。
10 search  buffers 

3
検索でスラッシュをエスケープし、長い文字列を置き換える代替手段
文字列内のすべての特殊文字をエスケープする必要がある以外に、文字列のvim検索と置換に代替手段はありますか? たとえば、次の文字列を照合して何かに置き換えたい場合 [ERROR] Login unsucessful それから私はしなければなりません :%s/\[ERROR\]\ Login\ unsucessful/something/g そして、多くの特殊文字を含む複雑な文字列の場合、それはより醜く、苦痛になります 私は何かしたいです :%s/"[ERROR] Login unsucessful"/something/g すべての脱出を回避します。このような機能はありますか?

1
複数行で置き換えるには?
単語を複数行に挿入したいのですが、次のようなコマンドはありますか :[2,3,5,7,11]s/^/word\ /g word2行目、3行目、5行目、7行目、11行目の最初に挿入するのはどれですか。 ここでは、複数の線が連続していません。

1
検索結果を強調表示して印刷するには
vimでパターンを検索すると、通常、一致が強調表示されます。ただし、印刷するとハイライトが消えます。私は両方を試してみました:hardcopy > my_file.pdfと:TOhtml。どちらもハイライトを保持しません。 一致したパターンが強調表示されたドキュメントをPDFファイルに出力する方法はありますか? Windows 7マシンでGVim 7.4を使用しています。

4
操作をコードのセクションに制限する
日常業務の中で、特定の関数(変数の強調表示や検索など)を操作する必要があることがよくありますが、編集/検索の範囲を制限することはできませんでした。 vimで、$colorこれらの中括弧のセットへのすべての参照、またはこの折り目などを選択的に言う方法があります。可能であれば、これは比較的一般的で、テキストの編集/置換に適用できるのが理想的です。 例として: $color = "#fff"; function PickColor () { $color = "#bbb"; $newColors = ["#000", "#fbf", $color]; foreach ($newColors as $c) { if ($c == "#fff") { break; } } } $differentColor = $color; このコードは比較的悪い例ですが、$ colorのすべてのインスタンスを置き換える必要がある場合、PickColor関数のコンテキストでこれをどのように行うのでしょうか。別の例として、使用する#と、*あなたはそのテキストオブジェクトの次のインスタンスに移動することができ、どのように(基本的には、検索をラップする)だけで、この機能の検索のための範囲を制限する行の数千人に及ぶ可能性がファイル全体に反対して負けあなたの場所、またはあなたが持ってはならない別の機能の何かを誤って置き換えますか?

5
特定の構文領域でパターンを検索する方法は?
ラテックスドキュメントの編集にvimを使用しています。変数の名前を別の名前に変更したいことがよくあります。ただし、変数名を検索するときに無関係な一致を調べなければならないのは少し面倒です。tex構文ファイルで定義されている「数学ゾーン」のみを検索したいのですが。検索を特定の構文領域に制限する簡単な方法はありますか?
10 search 

1
現在の検索結果を視覚的に選択
私がしているhlsearch設定が、それは時々私は視覚的に選択された検索語を持っている、とだけ打つことができるトンの帽子を考えに私をlulls cそれを変更します。 検索された用語は、文字、単語、行などの簡単な数ではない可能性があります-とにかく、私は数えたくないです。 たとえば、現在の強調表示が停止するまでどこを実行するvh(またはch)方法はありhますか?

2
「x」で始まる重複行、「x」を「y」に置き換えますか?
次のパターンのファイルがあります。 foo 111 baz foo 222 baz foo 333 baz に変える必要がある foo 111 bar 111 baz foo 222 bar 222 baz foo 333 bar 333 baz したがって、で始まるすべての行を複製し、複製fooのみを変更fooして、残りの行(それぞれの場合で異なる)はそのままにしておきます。これを行う方法?

4
“ gf”(または同様の)を使用してファイルを開き、検索語にジャンプできますか?
ファイルパスの引数gfを認識するvimのコマンド(または類似のもの)を取得する方法はあり+{cmd}ますか? vimを起動して、次のようにして検索語に直接移動できます。 $ vim +/coding_effort ~/project/file 同様に、コマンドモードでは次のことができます。 :e +/coding_effort ~/project/file 私はよくメモを取り、次のような他のファイルを参照します。 For more info see +/coding_effort ~/project/file where there's a detailed discussion. 私はを選択し+/coding_effort ~/project/file、のようgfに入力して、vimに正しいことをしてもらいたいと思っています。

2
外部コマンドを使用せずにコードプロジェクトをナビゲートする
Ctagsや他の外部ツールを使用せずにコードベースをナビゲートするために、コマンドモードまたは検索モードでVimコマンド/クエリのツールボックスを収集しようとしています。Ctagはすばらしいですが、サポートは、行き詰まっている開発環境によって異なります。Vimの知識だけに依存したいと思います。
9 search  ide 

1
vimで指定された文字列で始まる行を検索しますか?
私はこのコードスニペットを持っています: # import ipdb; ipdb.set_trace() def foo(): ... import ipdb; ipdb.set_trace() ... # import ipdb; ipdb.set_trace() コメントされていないipdb行のみが検索されるように、検索クエリを指定するにはどうすればよいですか? コマンドは次のようになると思います: /import ipdb/(line start flag)

2
複数行の検索と置換
検索を実行し、12000行のファイルで置き換えます。 具体的には、のオカレンスがブロックの^ SetFontSize 28後で^Hide次の^Hideorの前に存在する場合は^Show、に変更28し18ます。 元のファイルからの抜粋です。 Hide # Gear - Endgame ItemLevel >= 77 Rarity = Magic LinkedSockets >= 3 BaseType "Runic Hatchet" SetTextColor 140 190 255 # Magic Item Highlight SetFontSize 28 Hide # Gear - Endgame ItemLevel >= 77 Rarity = Magic Sockets >= 3 BaseType "Runic Hatchet" SetTextColor …
8 search  replace 

2
検索結果のリストを編集可能にするにはどうすればよいですか?
何回かありますが、私がする必要grepのためにsome_pattern、いくつかの中XHTMLのファイル(多くのA時間、指定したフォルダ内のファイル数が10K +を超えて)。 以前は、LugaruのEpsilon Programmer's Editorを使用しておりgrep、検索を呼び出して、一致するすべての行のリストをに表示するコマンドがありましたgrep-buffer。その後、ユーザは、(のようなコマンドを使用することができkeep-matching-lines、delete-matching-lines、sort-lines、uniqに等)grep-buffer。grep-bufferは編集可能であるため、必要に応じてgrep結果を後処理して望ましい形式に成形することができます。 しかし、それは数週間前でした!今回は、フルタイムのエディターとしてVimを使い始めました。私はそれらがVimの学習の障害になっているすべての可能な習慣をやめようとしています。したがって、現在、このような検索リストを取得する必要があるときはいつでも、次の方法で同じことを試みています。 :cd d:\test_files\ :cex [] | vimgrep /pattern/ *.xhtml :cope さて、これは私の目的をうまく果たしROますが、バッファはモードのままです。したがって、特別な後編集プロセスが必要になるたびに、のレプリカを準備quickfix-windowして、必要に応じて実行する必要があります。quickfix-window常に編集不可能です。 quickfix-window編集可能にする方法はありますか?結果は他のいくつかのコマンドを使用して1行で後処理できることは承知していますが、すべての検索リストを全体として表示する必要があります。それで初めて、次の手順を判断できます。 で適用できる微調整はありますvimrcか?何か不足していますか?私のエラーまたは仕事を成し遂げるためのその他のアプローチを指摘していただければ幸いです。

4
行にあるグローバルexコマンドのパターンを使用して、別の行で置き換えます
私のfortranコードには、次のような多くのブロックがあります subroutine name(arg1,arg2,arg3,...) : end subroutine そして私は彼らになってほしい subroutine name(arg1,arg2,arg3,...) : end subroutine name これらの各ブロックは、任意の量のスペースでインデントできます(実際、そのようなブロックはネストできます)。コマンドで試してみました :g/^ *subroutine \(.*\)/;/end subrout/s/end subroutine/& \1 バッファ\1が空であるように、これは各行を変更します(一番下の行でそれを読みます)。コマンド :g/^ *subroutine \(.*\)/;/end subrout/s/end subroutine/& hello うまく機能しますが、明らかに私が望んでいるものではありません。だから問題は、グローバルexコマンドで一致したパターンを置換文字列でどのように使用できる:gかです。 編集 質問を編集しているのは、投稿した時点で、私が参照した特定のケースに対する回答である回答を急いで受け入れたが、質問のタイトルは少し一般的ではなかったためです。 私は要点に行きます。私は次のようなファイルを持っています(できるだけ一般的にするだけで意味がありません)。 # sec1 fun1 are you a function? fun2 no. fun3 ok, nice to meet you! # 2nd part first …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.