IDLE では、リテラルのタブ文字を検索できません。1 つを検索ボックスに貼り付けることはできますが (will の提案に従って)、何にも一致しません。
ただし、正規表現検索を行うことができ、正規表現\t
はリテラル タブと一致します。したがって、チェックボックスをオンにして、Regular expression
ボックスに ' を入れ\t
、Find:
ボックスに 4 つまたは 8 つのスペース (必要に応じて) をReplace:
入れます。
しかし、示唆されているように、手動で行うよりも IDLE の機能を使用する方が良いでしょう: タブ付き (または一貫性のない) インデントのあるコード ブロックを選択し、Format
メニューに移動して、 を選択しますUntabify Region
。(または単に control-6 を押します。) タブが 4 スペース タブを使用するエディターで挿入された場合、最初に使用New Indent Width
して 4 に変更し、次にUntabify Region
.
IDLE には、一貫性のないコードを記述したときのタブ サイズを推測するコードがありません。私が知っている唯一のエディターは emacs です。ファイルを emacs で開くと、設定が推測され、バッファ全体とuntabify-region
. 推測が正しければ、あなたはゴールデンです。間違っていると推測した場合は、バッファを保存しないでください。修正がさらに難しくなるためです。(もしあなたが世界で 3 人のうちの 1 人で、emacs の Lisp の読み方を知っているが、emacs が好きではないという人なら、python-mode.el
ソースを調べて、その魔法がどのように機能するかを見ることができます。)