1

次のような状況があります。

if 1 < 2:
    print("this line is part of the if statement")

print("this is NOT part of the if statement")

indent-according-to-modeEmacs コマンドを使用するprint()と、if ステートメントの一部として 2 番目がインデントされます。このような:

if 1 < 2:
    print("this line is part of the if statement")

    print("this is NOT part of the if statement")

私の判断では、行のインデントは変更すべきではありません。この動作を「修正」またはカスタマイズすることは可能ですか?

4

2 に答える 2

3

これは正しい行動だと思います。Python ではインデントはセマンティックであるため、emacs はインデントが「あるべき」ものを判断できません。

emacs sensibleを呼び出すindent-according-to-modeと、これは「この行を上の前の行のインデントのレベルまでインデントしてください」と解釈されるため、得られる動作は正しいです。「これをオフにする」方法は、関数を呼び出さないことです。

于 2013-09-22T05:55:41.860 に答える
1

IIUC 次のように実装できます。

ブロックを開かない行が前にある空の行にステートメントが続く場合、インデントをブロックの先頭に戻します。

python-mode.el に関しては、機能のリクエストは次の場所で受け付けています。

https://bugs.launchpad.net/python-mode

于 2013-09-22T06:36:42.650 に答える