我正在尝试以我喜欢的方式对代码进行批量缩进 - 也就是说,每行应该由4个空格的组缩进,具体取决于代码中该行的“深度”(例如,子元素应该得到)比他们的父母多4个。)
目前一切都有1个空格(来自我的代码的样本):
<html>
<head>
<title>Test</title>
<link rel="stylesheet" href="style.css">
<script src="jquery.js"></script>
<script src="loadfiles.js"></script>
</head>
...
我想让它为第一级获得4个空格,为第二级获得8个等等。所以基本上将数量乘以4。
我尝试了这个Regex替换命令:
^ (.*)$ // search for
$1 // replace with
但是这只用4个空格替换每行的第一个空格。我怎样才能用8个空格等替换2个空格?
感谢。
答案 0 :(得分:9)
试试这个:
^(\s+) //search for
$1$1$1$1 //replace with
答案 1 :(得分:1)
我认为Cybernate是对的。只是想到我提到你可以通过在你喜欢的文本编辑器中使用块编辑(列编辑)功能(如Notepad ++,Coda等)而无需任何代码来完成此任务。
答案 2 :(得分:1)
假设你在使用perl的系统上,你可以这样做:
cat original.html | perl -lpe 's/^( +)/" "x(length($1) * 4)/e' > indented.html
也就是说,将行开头的空格替换为空格的四倍。