インデントにスペースを使用する .py ファイルがいくつかあり、それらをタブに変換したいと考えています。
正規表現を使用して何かを簡単にハックすることはできますが、このアプローチが失敗する可能性があるいくつかのエッジ ケースを考えることができます。Pythonインタープリターと同じ方法でファイルを解析し、インデントレベルを決定することでこれを行うツールはありますか?
インデントにスペースを使用する .py ファイルがいくつかあり、それらをタブに変換したいと考えています。
正規表現を使用して何かを簡単にハックすることはできますが、このアプローチが失敗する可能性があるいくつかのエッジ ケースを考えることができます。Pythonインタープリターと同じ方法でファイルを解析し、インデントレベルを決定することでこれを行うツールはありますか?
変換するファイルが多くない場合は、それらをvimで開き、コマンドを使用できます:retab
。
詳細については、vim のドキュメントを参照してください。
Python には、反対のスクリプト (タブからスペース) が含まれています。それC:\Python24\Tools\Scripts\reindent.py
は私のためです
:retab はタブをスペースと交換し、:retab! スペースをタブと交換します。タブの設定に応じて、1 つのタブ = 4 つのスペース、4 つのスペース = 1 つのタブ。
Linux を使用している場合は、unexpandをいじることもできます。
各 FILE の空白をタブに変換し、標準出力に書き込みます。FILE がない場合、または FILE が - の場合は、標準入力を読み取ります。
emacs では、M-x tabify
可能であればスペースをタブに変換します。tab-width
おそらく、変数を適切に設定したいと思うでしょう。
これが、スペースが python インタープリターと同じように解釈されるという懸念に対処するかどうかはわかりませんが、いつでも python-mode をロードしてM-x indent-region
.