擅长:python、mysql、java
<p>IDLE不允许搜索文本制表符。您可以将一个粘贴到搜索框中(如will所建议的),但它永远不会匹配任何内容。</p>
<p>但是,它确实允许您执行正则表达式搜索,正则表达式<code>\t</code>将匹配一个文本选项卡。所以,打开<code>Regular expression</code>复选框,将<code>\t</code>放入<code>Find:</code>框中,并将4或8个空格(视情况而定)放入<code>Replace:</code>框中。</p>
<p>但是,正如将要建议的那样,最好使用IDLE的特性,而不是尝试手动操作:选择带有标签(或不一致)缩进的代码块,转到<code>Format</code>菜单,然后选择<code>Untabify Region</code>。(或者只点击control-6。)如果插入的选项卡带有使用4空间选项卡的编辑器,则可能需要首先使用<code>New Indent Width</code>,然后将其更改为4,然后<code>Untabify Region</code>。</p>
<p>IDLE没有任何代码来猜测编写不一致代码时的标签大小。据我所知,唯一的编辑是emacs。如果您只是在emacs中打开文件,它会尝试猜测您的设置,然后您可以选择整个缓冲区和<code>untabify-region</code>。如果它猜对了,你就是黄金;如果它猜错了,不要保存缓冲区,因为现在它将更难修复。(如果您是世界上三个知道如何阅读emacs lisp但不喜欢emacs的人之一,您可以查看<code>python-mode.el</code>源代码并了解它的魔力。)</p>