【问题标题】:How can I escape the slash character in vi?如何在 vi 中转义斜杠字符?
【发布时间】:2023-03-30 13:44:01
【问题描述】:

当我尝试在 vi 中搜索以斜杠 / 字符开头的字符串时,光标会从上一个搜索跳转到下一个搜索结果。但是,我想找到文字斜线字符。如何做到这一点?

【问题讨论】:

    标签: escaping find editor vi


    【解决方案1】:

    输入这个:

    /\/
    

    【讨论】:

      【解决方案2】:

      如果您使用?,则无需转义/

      ?/home/my_user/ # and enter to search backwards
      /               # and enter to search forwards
      

      here

      【讨论】:

        【解决方案3】:

        使用反斜杠。

        :/\/
        

        这将向前搜索到下一个正斜杠。

        【讨论】:

        • 啊...是的,你是对的。但这也不痛。不过感谢您的提示!
        【解决方案4】:

        我在这方面花了太多时间,所以让我在这里快速回答一下。根据 lutz 8 年前的回答,vi 中的转义字符(vim 也是,我认为,我在这里使用的是 CentOS 盒子)是“\”。我有这个在 Windows 中构建的东西,正在转换到 Linux。通常,您可能有一个具有绝对目录位置的文件,并且您希望将斜杠从“\yatta\yatta\blah...”转换为“/yatta/yatta/blah...”,所有行中都出现。对于 vi,所有行都是 %s,后面的 g 表示每行内的所有出现。所以,用 vi 或 vim 编辑你的文件,然后按转义和冒号得到“:”提示,然后输入:

        %s/\\/\//g
        

        所有“\”字符都更改为“/”。但是您可能仍然需要将“c:”引用更改为“/home/prod”或类似的东西,以坐在“/yatta/yatta/blah...”前面。简单。 vi转义字符为“\”,所以按esc,输入“:”跳转到vi cmd进入模式,输入:

        %s/c:/\/home\/prod/g
        

        有很多可用的 vi/vim 命令快速“备忘单”。它是一个无处不在的工具,几乎可以在每个 Linux/Unix 系统上使用——甚至在越狱的 iPad 等上也是如此。

        【讨论】:

          【解决方案5】:

          --- 哎呀,对不起,我输入了替换信息。使用 \ 转义更适合仅搜索

          使用不同的分隔符

          :%s./.z.
          

          将所有 '/' 替换为字母 z

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-08-02
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2012-03-26
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多