如何在VIM中为单词与特殊字符之间添加均等空格
Vim实现逗号前添加空格的操作方法
嗨,这个需求用Vim的替换功能就能轻松搞定,给你几个实用的操作方案:
全局快速替换(最推荐)
先按Esc进入命令模式,输入以下命令并回车::%s/,/ ,/g简单解释下各部分的作用:
%表示作用于整个文件的所有行s是Vim替换命令的标识/,/ ,/表示把所有逗号,替换成,(空格+逗号)g表示全局替换每行的所有匹配项,而非只替换每行第一个
仅替换当前行
如果只想修改光标所在的那一行,把命令里的%换成.即可::s/,/ ,/g带确认的替换(避免误改)
要是你担心文本里还有其他不需要修改的逗号,可以加c参数开启逐个确认模式::%s/,/ ,/gc执行后Vim会逐个询问是否替换,按
y确认替换,n跳过,a直接替换所有剩余项,q退出替换流程。精准匹配单词后的逗号(进阶)
如果你的文本里有其他位置的逗号(比如非单词结尾的),可以用正则表达式精准匹配单词后的逗号,避免误改::%s/\(\w\),/\1 ,/g这里
\(\w\)匹配一个单词字符(字母、数字、下划线),\1表示引用刚才匹配到的单词字符,这样只会给单词后面的逗号前添加空格。
内容的提问来源于stack exchange,提问作者cryptoKay
相关产品推荐
相关产品推荐

