擅长:python、mysql、java
<blockquote>
<p>When I run :retab, it replaces each ^I with one tab, instead of the two tabs that it should.</p>
</blockquote>
<p><code>:retab</code>用<code>tabstop</code>空格替换每个制表符(即<code>^I</code>)。在您的例子中,<code>tabstop</code>显然被设置为4,所以Vim用4个空格替换文件中的每个<code>^I</code>。如果希望<code>:retab</code>用8个空格替换每个<code>^I</code>,请在<code>:retab</code>之前使用<code>set tabstop=8</code>。你知道吗</p>
<p>为了解决实际问题,不要在Python中使用混合缩进;将Emacs和Vim都设置为使用空格作为制表符。你知道吗</p>
<p>有关详细信息,请参见<code>:h expandtab</code>、<code>:h tabstop</code>、<code>:h softtabstop</code>和<code>:h shiftwidth</code>。你知道吗</p>