Pythonでコーディングするためにpython-mode.elでEmacsを実行しています。コードの領域を自動的に適切にインデントする方法を学びたいと思っています。
次のコードはうまくインデントされていません。
while match != None:
if match.group(1):
titles.append(match.group(1))
if match.group(2):
if match.group(2) != '':
pns.append(int(match.group(2)))
else:
pns.append('')
else:
pns.append('')
if match.group(3):
closings.append(len(''.join(match.group(3).split())))
else:
closings.append(0)
match = pat.search(match.group(4))
リージョンを選択して を押すと、M-x indent-region
完全に間違ったものになります:
while match != None:
if match.group(1):
titles.append(match.group(1))
if match.group(2):
if match.group(2) != '':
pns.append(int(match.group(2)))
else:
pns.append('')
else:
pns.append('')
if match.group(3):
closings.append(len(''.join(match.group(3).split())))
else:
closings.append(0)
match = pat.search(match.group(4))
理想は次のとおりです。
while match != None:
if match.group(1):
titles.append(match.group(1))
if match.group(2):
if match.group(2) != '':
pns.append(int(match.group(2)))
else:
pns.append('')
else:
pns.append('')
if match.group(3):
closings.append(len(''.join(match.group(3).split())))
else:
closings.append(0)
match = pat.search(match.group(4))
M-x indent-region
がコード行間のインデント関係を誤って理解するのはなぜですか? 私のコードがあいまいであるからですか?- じゃあどうすればいいの?
ありがとう。