Есть ли быстрый способ уменьшить отступ нескольких строк в Python?

Я новичок в программировании на 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 и других распространенных редакторах?

4 ответов


в vim вы выбираете блок, а затем нажимаете ключ.

в Eclipse вы выбираете его, а затем нажмите SHIFT + TAB.

каждый редактор кода стоит его соли имеет один из ключевых способов отступ и dedent блоков.


можно заменить if с:

if True:  # if i < 5:

и оставить все остальное в покое - без отступа/dedent, чтобы впоследствии отменить.


возможно, поздно для вашего случая, но если полезно для других:

SHIFT + TAB будет делать unindent для выбранного текста в Eclipse.


использовать настройки-Pydev - настройки редактора снимите флажок изменить вкладки на пробелы. Это делает ошибки detent и вашу проблему. И проверьте другие параметры, такие как 4 space tab, 8 space tab и так далее.