1

Python ファイルの編集には python-mode.el と (gnu) emacs を使用するのが好きです。複数行の継続に括弧を使用すると、インデントが期待どおりに機能します。例えば、

foo_long_long_long_long = (
    bar_long_long_long_long[
        (x_long_long_long_long == X) &
        (y_long_long_long_long == Y)])

私の好きな方法です。

一方、継続にバックスラッシュを使用すると、単一のインデントが作成され、後続のすべての行が追加のインデント ロジックの使用を停止します。3 行目と 4 行目の下に余分なインデントがありません

foo_long_long_long_long = \
    bar_long_long_long_long[
    (x_long_long_long_long == X) &
    (y_long_long_long_long == Y)]

バックスラッシュの継続が括弧の継続と同じようにインデントするように python-mode.el (5.1.0) を修正する方法を知っている人はいますか?


編集:私は丸括弧を一日中使用するだけで満足していますが(結局、PythonはLispのようなものです...)、バックスラッシュの継続を使用する他の人と協力しています。TAB を押すと、Emacs はインデントを台無しにします。これは反射的に行うことがよくあります。それらのファイルを編集して、バックスラッシュ行の継続を操作するときに emacs がすべてのインデント スマートを維持できるようにするとよいでしょう。

4

2 に答える 2

2

ブラックスラッシュの継続を使用しないでください。

于 2010-09-03T21:30:22.310 に答える
0

これには Bug lp:629916 があり、https ://launchpad.net/python-mode で修正されました

于 2013-05-24T19:28:43.257 に答える