我在 Vim 中有文本
- 使
Ctrl+V
VIm 进入块模式 - 突出显示我想要的文本
- 键入
:
此内容会给出此提示:'<,'>
- 我在提示中添加了我的正则表达式
s/ /*/g
。这样我就得到了:'<,'>s/ /*/g
并突出显示了文本 - 我按下回车键
不幸的是,它对块的整行进行操作,而不仅仅是块本身。有没有办法进行块搜索和替换?
答案1
在可视块模式下使用 ex 命令时,:
它们始终对整行进行操作。有两种方法可以解决这个问题:
原子
\%V
将仅在可视区域内匹配。尝试:'<,'>s/\%V /*/g
看
:help %V
- 有些命令有特殊的可视化版本,live v_s 或 v_r。请参阅
:help visual-operators