假设我想在一个 3000 行 CSS 文件中将“23px”替换为“500px”,其中有数十个“23px”实例。我只想应用此命令:
:%s,23px,500px,gc
到第 550 行到第 603 行。是否有任何(最好是简洁的)方式来指定我希望命令仅适用于 550 到 603 行?我也愿意使用 SHIFT-V 和 j/k 直观地选择该区域,然后运行仅适用于选定/突出显示部分的命令。
答案1
只需将这些行指定为您的范围而不是 %。 % 只是 <first line>,<last line> 的简写。
:550,603s,23px,500px,gc
看
:help :range
:help 10.3
你也可以将光标移到第 550 行,
550G
然后目视选择到第 603 行,
V603G
然后输入命令,
:s,23px,500px,gc
Vim 会自动为您填充范围,因此命令行实际上看起来像这样:
:'<,'>s,23px,500px,gc
你也可以在匹配某些模式的行上执行命令。请参阅
:help 10.4