【问题标题】:Searching for backslash character in vim在vim中搜索反斜杠字符
【发布时间】:2009-07-13 14:37:56
【问题描述】:

如何在 vim 中搜索单词 start \word。我可以使用查找菜单来完成。还有其他捷径吗?

【问题讨论】:

  • 你能澄清一下这个问题吗?您是在寻找以 'word' 或以 '\word' 开头的单词,还是仅仅以模式 '\word' 开头的单词,无论它是否位于单词的开头?
  • 问题标题特别提到了反斜杠,所以它不会只是“单词”。
  • 我修正了大多数错别字,但只有一个:应该是“我可以”还是“我不能”?
  • @Aaron:我把它读作“可以”,因为 OP 目前就是这样做的,但想要一个更好的。

标签: keyboard-shortcuts vim


【解决方案1】:

试试:

/\\word

在命令模式下。

【讨论】:

    【解决方案2】:

    您可以使用正则表达式搜索文档中的大部分内容。在正常模式下,输入“/”,然后开始输入正则表达式,然后按 Enter。 '\

    /\<foo
    

    将匹配字符串“foo”,但仅匹配单词开头的位置(大多数情况下以空格开头)。

    您可以通过用反斜杠转义来搜索反斜杠字符,因此:

    /\<\\foo
    

    会在单词的开头找到模式“\foo”。

    【讨论】:

    • 结合你的答案和我的答案,你会得到:/\
    • \&lt;\` isn't particularly meaningful, though: ` 不是单词字符。
    【解决方案3】:

    不直接相关(/\\word 是正确的解决方案,这里没有任何改变),但供您参考:

    :h magic

    如果您喜欢包含许多对正则表达式具有特殊含义的字符的模式,您可能会发现“nomagic”和“very nomagic”模式很有用。

    /\V^.$

    将搜索文字字符串^.$,而不是“正好一个字符的行”(\v“非常魔术”和默认的\m“魔术”模式)或“正好一个句点的行”( \M“游牧”模式)。

    【讨论】:

      【解决方案4】:

      搜索包含“\”的内容不同的原因是因为“\”是一个特殊字符,需要转义(前置反斜杠)

      类似地,搜索“$100”,其中包含特殊字符“$”:

      Press /
      Type \$100
      Press return
      

      要搜索不包含特殊字符的“abc”:

      Press /
      Type abc
      Press return
      

      【讨论】:

        猜你喜欢
        • 2011-01-28
        • 1970-01-01
        • 2013-11-04
        • 2015-03-26
        • 2016-01-17
        • 1970-01-01
        • 2019-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多