有没有一种快速的方法可以减少Python中多行缩进的缩进量?

32

我是Python编程的新手。我发现在Python中减少代码块的缩进相当烦人。例如,给定以下代码片段:

for i in range(density):
   if i < 5:
      x, y = rnd(0,shape[1]//2)*2, rnd(0,shape[0]//2)*2
      Z[y,x] = 1 
      ....
      ....
如果我注释掉if语句,那么我必须逐行减少if块中的缩进,有没有一种方法可以通过按下一个键来完成这个过程,就像我们通过选择代码块并按TAB键来增加代码块的缩进一样?我想这取决于编辑环境,因此您能否提供在Eclipse+Pydev、VIM和其他常见编辑器中实现此功能的解决方案?

这取决于编辑器本身。你需要具体地查看每一个编辑器。 - atreat
在Komodo和Visual Studio中,您可以选择行并按Shift+Tab。 - Gabe
在这种特殊情况下,您还可以增加被注释掉的“if”行的缩进。 - yak
4个回答

68

在vim中,你选择块然后按下<键。

在Eclipse中,你选择它然后按SHIFT + TAB

每个值得一试的代码编辑器都有一种单键缩进和取消缩进块的方法。


你需要任何VIM配置文件来使其工作吗?@Borealid - sma
3
在Python自带的IDE IDLE中,按下Ctrl+[可以减少缩进量(即去除缩进),按下Ctrl+]则可以增加缩进量。 - Steven T. Snyder
此外,在 Python 模式下,Emacs 中的快捷键为 C-c < - blmoore
如果您在Windows上使用Canopy内置的Python编辑器,选择文本然后使用shift+tab快捷键也可以起作用。 - ncRubert
有没有办法配置Eclipse使用Ctrl + [代替SHIFT + TAB?我想让它像Sublime一样使用Ctrl + [... - ArtOfWarfare

8
您也可以用以下代码替换if语句:
if True:  # if i < 5:

只需处理需要的内容,不要进行缩进或反缩进,以免后续需要撤销操作。


3
也许对您来说已经晚了,但对其他人有用:在Eclipse中,使用SHIFT + TAB可以对所选文本进行取消缩进操作。

1

使用偏好设置-Pydev-编辑器设置,取消勾选将制表符转换为空格。这会导致缩进错误和您的问题。并测试其他选项,如4个空格制表符、8个空格制表符等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接