How to do whole-word search similar to “grep -w” in Vim

后端 未结 3 631
青春惊慌失措
青春惊慌失措 2020-12-13 05:54

How do I do a whole-word search like grep -w in Vim, which returns only lines where the sought-for string is a whole word and not part of a larger word?

相关标签:
3条回答
  • 2020-12-13 06:29

    One can use 'very-magic' \v to simplify the command:

    /\v<yourword>
    

    As mentioned in comments, \v indicates that all alphanumeric characters have special meaning hence one needs to enter only < and > rather than escaping them with \< and \>.

    0 讨论(0)
  • 2020-12-13 06:37
    \<bar\>
    

    matches bar but neither foobar nor barbaz nor foobarbaz.

    Use it like this in a substitution:

    :s/\<bar\>/baz
    

    Use it like this to list all the lines containing the whole word bar:

    :g/\<bar\>
    

    :h pattern is a good read.

    0 讨论(0)
  • 2020-12-13 06:39

    You want /\<yourword\>.

    If your cursor is on a word, then you can press * and it will do a word-only search for the word under the cursor.

    0 讨论(0)
提交回复
热议问题