【问题标题】:Is there an alternative to escaping '/' in vi editor when searching for strings with '/' in them?在 vi 编辑器中搜索带有“/”的字符串时,是否有替代转义“/”的替代方法?
【发布时间】:2014-12-31 05:20:38
【问题描述】:

我经常发现自己使用 vi 编辑器在文件(日志文件、脚本等)中搜索诸如 /a/b/c/file.txt 之类的路径。这通常在我使用 SSH 连接的某些服务器机器上,因此我正在寻找不需要 GUI 编辑器的解决方案。

每次我想搜索诸如文件路径之类的字符串时,都必须逃避所有那些/s,这很痛苦。

vi 中搜索时,是否可以使用/?或者,是否有一些设置可以让我将此搜索字符设置为其他字符? (即使它只为活动会话设置)

我知道我可以使用grep,但vi 中的解决方案会很好。

【问题讨论】:

    标签: linux unix vim grep vi


    【解决方案1】:

    您可以使用? 字符代替/,但唯一的区别是/ 会从上到下进行前向搜索,而? 会从最后一行搜索到第一行。

    【讨论】:

    • 不知道 vi 中的向后搜索...这有效...我只需要反转 'n' 和 'N' 即可进入下一个/上一个匹配项。
    【解决方案2】:

    你可以试试:cmap <C-/> \/

    【讨论】:

      【解决方案3】:

      您可以使用其他分隔符,例如#

      :s#search#replace#g
      

      测试

      给定一个包含此内容的文件:

      hello this is me/you
      

      我输入:

      :s#me/you#otherthing#g
      

      现在文本是:

      hello this is otherthing
      

      【讨论】:

      • 这是替换,不仅仅是搜索。
      猜你喜欢
      • 1970-01-01
      • 2016-03-06
      • 2017-08-31
      • 2020-07-09
      • 2015-11-07
      • 1970-01-01
      • 2021-11-06
      • 2023-03-21
      • 2011-08-15
      相关资源
      最近更新 更多