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

Eva*_*oll 9 vim regex

我在 Vim 中有文字

  1. 点击Ctrl+V将 VIm 置于块模式
  2. 突出显示我想要的文字
  3. 键入:这给出了这个提示:'<,'>
  4. 我将我的正则表达式添加到提示中s/ /*/g。这让我:'<,'>s/ /*/g和文本突出显示
  5. 我按回车

不幸的是,它对块的整行进行操作,而不仅仅是块。无论如何要进行块搜索和替换?

Dav*_*llo 14

在可视块模式下使用 ex 命令时,:,它们总是在整行上运行。有两种方法可以解决这个问题:

  1. \%V原子将匹配仅内部的视觉区域。尝试

    :'<,'>s/\%V /*/g
    
    Run Code Online (Sandbox Code Playgroud)

    :help %V

  2. 有一些命令的特殊视觉版本,live v_s 或 v_r。看:help visual-operators

  • 这个页面有一篇关于你正在尝试做的事情的好文章。http://vim.wikia.com/wiki/Search_and_replace_in_a_visual_selection (2认同)