5

私はpython-modeとpython.elを見てきました。私はpython-mode.elを使用しています。ロープとロープマックも使用しています。これらに関するドキュメント、または別のelispパッケージなどを探しています。

私の現在の問題は、与えられたコードのインデント サイズが一貫していないことです。一部のブロックでは2つになり、一部のブロックでは4になります。これをクリーンアップしたいのですが、何らかの理由で、emacsに「インデントを修正」するように指示すると、基本的にすべての行でタブを押すだけで、コードが台無しになります。私が望むのは、同じ相対的なインデントを維持することですが、4 つのスペースで標準化することです。これを簡単にできるものはありますか?

悪いインデントの各インスタンスを見つけてブロックし、2 つのスペースを 4 つのスペースでクエリ置換できると思います。しかし、それは私の精度に少し依存しすぎており、これをどこで行うべきかを認識しています。また、コード量が多いです。

誰かが私に自転車の修理工がこれを解決すると言いましたが、それは数年前から開発されていません... 他に提案はありますか?

ありがとう。

4

3 に答える 3

0

py-smart-indentation を「t」に設定

現在の python-mode.el はそれを行う必要があります。

http://launchpad.net/python-mode

バグの場合は、そこに報告してください

于 2012-07-26T17:20:19.457 に答える
0

Sven Marnach のコメントを使用してコード ベースをクリーンアップしたと仮定すると、python-mode.el で好みのインデント スタイルを使用するだけでよいのではないでしょうか?

変数py-indent-offset、 およびpy-smart-indentation(そしておそらくpy-continuation-offsetおよびもpy-honor-comment-indentation) を見てください。ノーマルと同様indent-tabs-mode

それらをカスタマイズするか ( M-x customize-group RET python RET)、カスタム関数を に追加することができますpython-mode-hook。例えば:

(add-hook 'python-mode-hook 'my-python-mode-hook)
(defun my-python-mode-hook ()
  (setq indent-tabs-mode nil
        py-smart-indentation nil
        py-indent-offset 4))
于 2011-02-05T00:42:02.613 に答える
-1
(custom-set-variables
   ...
   '(indent-tabs-mode nil)
   '(tab-stop-list (quote (4 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120)))
   '(tab-width 4))

明らかに、これらはそれらを尊重するモードのグローバル設定です (これは python-mode が行います)。私は python-mode のインデント設定をいじりませんでした。

于 2011-02-05T04:15:06.153 に答える