将缩进代码移到左侧,删除前导标签

时间:2012-07-17 21:03:39

标签: python regex sublimetext2

假设我有一段代码从一个文件复制到一个新的空白文件。原始文件中的代码按原样缩进,但是我想在放入新的空白文件时取消缩进代码。但是,我只想取消缩进基本缩进,这意味着我不想删除所有缩进。有意义吗?

例如,将代码块粘贴到新创建的文件中时,它可能如下所示:

        <h1>Title</h1>
        <div>
            <p>This is a nested paragraph</p>
            <ul>
                <li>Even deeper!</li>
            </lu>
        </div>

我想创建一个带有正则表达式和/或python的函数,它将获取上面的文本并将其转换为:

<h1>Title</h1>
<div>
    <p>This is a nested paragraph</p>
    <ul>
        <li>Even deeper!</li>
    </lu>
</div>

唯一的区别是铅压痕。

非常感谢任何想法或帮助!

4 个答案:

答案 0 :(得分:5)

查看dedent模块中的textwrap函数:http://docs.python.org/library/textwrap.html#textwrap.dedent

答案 1 :(得分:2)

如果输入始终采用您提供的格式,您可以查看第一行有多少个标签,并从该行和后续行中删除多个标签。

答案 2 :(得分:1)

选择要缩进的文字,然后按

1) ctrl + [从每行开头删除一个标签空间

2) ctrl +] 在每行的开头添加一个标签。

未针对所有版本进行测试,但适用于崇高文字2。

答案 3 :(得分:0)

如果您使用 emacs ,则可以使用“box mode”命令删除缩进。您将标记和光标设置在定义该框的文件区域,然后键入ctrl-x r k以删除该框。像魅力一样。