如何使用 Vim 进行块搜索和替换?

如何使用 Vim 进行块搜索和替换?

我在 Vim 中有文本

  1. 使Ctrl+VVIm 进入块模式
  2. 突出显示我想要的文本
  3. 键入:此内容会给出此提示:'<,'>
  4. 我在提示中添加了我的正​​则表达式s/ /*/g。这样我就得到了:'<,'>s/ /*/g并突出显示了文本
  5. 我按下回车键

不幸的是,它对块的整行进行操作,而不仅仅是块本身。有没有办法进行块搜索和替换?

答案1

在可视块模式下使用 ex 命令时,:它们始终对整行进行操作。有两种方法可以解决这个问题:

  1. 原子\%V将仅在可视区域内匹配。尝试

    :'<,'>s/\%V /*/g
    

    :help %V

  2. 有些命令有特殊的可视化版本,live v_s 或 v_r。请参阅:help visual-operators

相关内容