【问题标题】:vim visual block search/replace only replacing first occurrence on a linevim 可视块搜索/替换仅替换一行上的第一次出现
【发布时间】:2012-12-03 07:45:21
【问题描述】:

我正在可视模式下尝试以下命令来尝试对文本块进行全局查找/替换

:'s/红/绿/g

文字是这样的

红红红蓝红红红蓝

结果

绿红红蓝红红红蓝

而不是我对 g 开关的期望:

绿绿绿蓝绿绿绿蓝

知道是什么导致了这种行为吗?如果这是默认行为,我如何让 g 真正真正 全球化?

谢谢

【问题讨论】:

    标签: regex vim replace


    【解决方案1】:

    你可能已经:set gdefault;这颠倒了g 替换标志的含义。您可以通过:verbose set gdefault? 查看设置位置并通过:set nogdefault 将其暂时关闭,但您可能希望找到设置位置并将其从那里移除。

    【讨论】:

    • 谢谢!它是在我的 .vimrc 中设置的
    【解决方案2】:

    我在我的 vim 中尝试了这个并得到了正确的结果:

    green green green blue green green green blue
    

    也许你的 .vimrc 中有一些东西改变了默认行为。你想把它附加到这个线程吗?

    【讨论】:

      猜你喜欢
      • 2016-12-15
      • 1970-01-01
      • 1970-01-01
      • 2014-01-28
      • 2021-09-29
      • 2023-01-08
      • 2014-07-08
      • 1970-01-01
      • 2011-08-25
      相关资源
      最近更新 更多