2016-09-28 22 views
1

皆さんもご存じのように、Vimはこのようなことをするための素晴らしいツールです。私はいくつかの報告テキストでエラーを探しています。例えば、私はコマンド ":s/0000"を入力するテキストの中で文字列 "0000"を探しています。デフォルトでは、そのシーケンスが存在するすべてのインスタンスを強調表示し、すべてを意味します。良い部分は、たとえば、文字列が各行の11番目の位置から始まることです。 私が知りたいのは、各行の11番目の位置にある文字列 "0"だけをグローバルに検索できるコマンドがありますか? 私はあなたの時間をいただきありがとうございます。ありがとうございました。VIMで特定の行位置の特定の文字列を効率的に検索

+0

[Vim - 行の先頭から特定のオフセットで文字がある(またはない)行を検索する]の可能な複製](http://stackoverflow.com/questions/12985042/vim-search-for-lines- with-or-without-character-at-a-specific-offset-from-the) – SibiCoder

答えて

2

Vimには、特別な正規表現のアトムがいくつかあります。画面の列には、\%vがあります。だから、正確にコラム11で0000を検索するには、あなたは

/\%11v0\{4} 

もあります(\%<v)よりレスと大なりのための変種と同様に、バイト数と行番号のための同様の原子を使用すると思います。 :help /\%l以降の段落を参照してください。

+0

これは本当にうまくいくようです。私はまだ正規表現で良くなるよう努めており、これは間違いなく助けになりました。あなたは答えに適切な信用を与えるためにここで私がどこに行くのか教えていただけますか?すぐにやろう。 – Galidari

+0

@ガリダリありがとう;その横にあるチェックマークをクリックして回答を受け入れてください。それで全部です! –

0

これは簡単なものです:

  • ^:(行の先頭)
  • \ {10}:。ちょうど10任意の文字
  • 0000:文字列が想定さあなたは正規表現を検索します列で開始することが11

ので、何を入力すると、次のとおりです。

/^.\{10}0000

+0

これは答えではありませんでしたが、それは本当に面白かったです。それは行の最初の文字で強調表示を開始し、問題の実際の文字列の最後にハイライト表示を停止しました。私はいくつかの方法で試してみました。それは、私がやっていることでいくつかの良いことを生み出すことができるように見えます。これありがとう。 – Galidari

関連する問題