2011-02-04 8 views
5

私はpython-modeとpython.elを見てきました。私はpython-mode.elを使用しています。私はロープとロープマックも使用しています。私はこれらの文書を探しています。これは私や他のelispパッケージなどに役立ちます。PythonをEmacsで編集する

私の現在の問題は、私が与えたコードに一貫性のないインデントサイズがあることです。何らかの理由で、私がemacsに「インデントを修正する」と言うと、それは基本的にすべての行のタブに当たって、コードを壊してしまいます。私が望むのは、同じ相対インデントを維持することですが、4つのスペースで標準化します。何か私はこれを簡単にすることができますか?

悪い字下げの各インスタンスを見つけてブロックし、4つのスペースで2つのスペースをクエリー置換すると仮定します。しかし、それは私の精密さにあまりにも頼りにして、これがどこで行われるべきかに気づいています。また、それは多くのコードです。

誰かが自転車の修理士がこれを解決すると言いましたが、それは数年前から開発中でした...他の提案はありますか?

ありがとうございました。

+3

を報告してください、しかし、あなたは[アレックスマルテッリにより、この答えに]興味があるかもしれません(http://stackoverflow.com/questions/1024435/howto-fix-python-indentation/1024489#1024489)。 –

+0

ありがとう!少なくとも1つの問題を解決する! –

答えて

0

Sven Marnachのコメントを使ってコードベースを整理したと仮定すると、python-mode.elにあなたが好むインデントスタイルを使用する必要があると思いますか?

変数py-indent-offsetpy-smart-indentation(おそらくまたpy-continuation-offsetpy-honor-comment-indentation)を見てください。通常のindent-tabs-modeと同様に。

あなたは(M-Xcustomize-groupRETpythonRET)、それらをカスタマイズする、または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)) 
+0

ええ、私は4がデフォルトであると思います、それが私が望むものです。 Svenの提案を使用し、コードのブロックをもっと簡単に動かすためのいくつかのツールを使用することは、もっと重要です... –

-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の字下げ設定をまったく使っていませんでした。 `T」に設定PY-スマートインデント

現在のpython-mode.elはそれを行う必要があると

関連する問題