我正在编辑一个最初用 emacs 编写的文件,现在我正在使用 vim 处理该文件。从一个切换到另一个时,我遇到了一个奇怪的问题:
在代码中的某些地方,似乎是随机的,emacs 代码中的选项卡相当于两个选项卡(在 emacs 和 python 中都是可视的)。但是,在 vim 中,这些制表符仅显示为一个制表符。
当我 :set list 时,几行示例将显示为:
for i in range(total_pairs):$
^Iwhile 1:$
^I rint = random.randint(0,total_pairs-1)$
^I if(trialData[rint].cueDir == FORWARD)$
^I^ItrialData[rint].cueDir=BACKWARD$
^I^Ibreak$
虽然它应该显示为:
for i in range(total_pairs):$
while 1:$
rint = random.randint(0,total_pairs-1)$
if(trialData[rint].cueDir == FORWARD):$
trialData[rint].cueDir = BACKWARD$
break$
代码仍然以任何一种方式运行,但阅读起来相当烦人。
当我运行 :retab 时,它会将每个 ^I 替换为一个选项卡,而不是它应该使用的两个选项卡。我该怎么做才能用两个制表符而不是一个制表符替换每个 ^I 字符。另外,为什么会这样?
谢谢。