让我们考虑这个代码示例...不要看代码,而是缩进。
protected function _hashPassword( $password, $salt, $nuts = '' ) {
if ( $nuts === '' ) {
$nuts = Kohana::config( 'a11n' )->nuts;
}
$password =
sha1(
$password
. $salt
. $nuts
);
return $password;
}
它取自更大的源代码。如您所见,它缩进了2个标签。我想在不使用打字的情况下以某种方式从中删除缩进。不知。
如果我使用编辑器内置“替换”功能并删除这两个标签,如...
我得到这样的东西(并非在所有情况下,但差不多)......
protected function _hashPassword( $password, $salt, $nuts = '' ) {
if ( $nuts === '' ) {
$nuts = Kohana::config( 'a11n' )->nuts;
}
$password =
sha1(
$password
. $salt
. $nuts
);
return $password;
}
这是因为一行上只有两个标签,它取代了所有4个标签。
我正在寻找能够很好地删除缩进的正则表达式!也许还有其他解决方案吗?只是不建议在没有缩进的情况下编写代码!
答案 0 :(得分:15)
在您喜欢的现代编辑器中选择代码,然后点击 shift - 标签
答案 1 :(得分:1)
当然你想简单地替换^\t\t
,或者如果它不是^
那么使用你的编辑器用于行首锚的任何字符(我不知道你的特定编辑器的功能是什么)是,只是(非常好)理解大多数正则表达式引擎的驱动方式。)
这只会替换每行开头的双标签项目。
例如,如果我是从Linux下的命令行执行此操作,
sed 's/^\t\t//g' oldfile.c >newfile.c
会做你想做的事。
答案 2 :(得分:1)
使用正则表达式,将^\t\t
替换为空字符串。
如果不使用正则表达式,只需将\n\t\t
替换为\n
即可。
另请考虑使用source code formatter。
答案 3 :(得分:1)
以下内容适用于Notepad ++:
1)将搜索模式设置为:正则表达式
2)找到:^[\t]+
3)替换为:
编辑:这将从每行的开头替换1个或多个标签。
替代方法:选择整个源代码并多次点击Shift-Tab
。它将从每行的开头删除制表符,就像上面的正则表达式一样。我希望这有帮助!