如何使vim 仅替换视觉选择中的字符,而不替换行中的其他字符?例:
- 线:
int arr[] = { 00 01 02 03 04 05 05 /* ... lots more like this*/};
- 视觉选择:
{ 00 01 02 03 04 05 05 /*... lots more like this*/}
- 命令:
:'<,'>s/\ /\,0x/g
- 预期:
int arr[] = {0x00,0x01,0x02,0x03 /* and so on*/};
但是,执行这些操作后,实际结果是:
int,0xarr[],0x=,0x{0x00,0x01,0x02,0x03 /* and so on*/};
有没有办法修改上面的命令以产生预期的结果?'<
并没有'>
定义搜索(和替换)命令的工作范围吗?
:substitute
运算符是逐行的,这解释了您在示例中看到的内容。