And*_*own 17 vim batch-file substitution
我有一堆sass文件,我的设计师使用了错误的语法.我想,:margin-top 1px
但他做到了margin-top: 1px
所以我轻松写了一个子命令:
:rubydo sub! /([\w-]+):/,':\1'
Run Code Online (Sandbox Code Playgroud)
这样可以工作并修复所有冒号并将它们移动到我想要的位置.我在stylesheets
目录中有大约50个sass文件.如何一次性对所有文件运行此命令?我真的不确定如何解决这个问题vim
.也许与某事有关grep
?我不能告诉你.
Nil*_*oct 25
请参阅:http://vimdoc.sourceforge.net/htmldoc/editing.html#:argdo
我现在学会了这个命令,但帮助很明确.
去做:
:args *.css
:argdo %s/\([[:alpha:]-]\+\):/:\1/ge | update
Run Code Online (Sandbox Code Playgroud)
这是一个例子
:bufdo %s/oldStuff/newStuff/ge | update
Run Code Online (Sandbox Code Playgroud)
只需更改正则表达式即可满足您的需求
我认为这个案例的最佳工具是sed,即流编辑器.
sed -i.old 's/:\([-a-z]*\)/\1:/' *.css
Run Code Online (Sandbox Code Playgroud)
这将编辑所有.css文件,保留带有.old扩展名的原始文件.
sed使用的正则表达式集有点不同,并且取决于您的版本或多或少的限制.我使用的表达式显然适用于您的情况 - 使用BSD工具.
归档时间: |
|
查看次数: |
9209 次 |
最近记录: |