如何在 vim 编辑器中将 ^I 替换为 .java 文件的制表符空格?

如何在 vim 编辑器中将 ^I 替换为 .java 文件的制表符空格?

当我在 vim 中打开 .java 文件时,我可以看到几行以一个/多个^I字符为前缀。它看起来像 Eclipse 中的选项卡已转换为^I.

我想将单个字符替换^I为 4 个字符的空格。

例如

^I^I^I^IList<History> rulePackagesHistory = result.getHistory();

如何在 vim 编辑器中做到这一点?

答案1

将这些行添加到您的.vimrc

set tabstop=4
set shiftwidth=4
set expandtab

之后,输入的每个新制表符将更改为 4 个空格,而旧制表符不会。您必须输入:

:retab

这会将文件中所有现有的制表符转换为空格。

如果您不想使用retab,可以使用perl将每个制表符替换为 4 个空格:

perl -i.bak -pe 's/\t/    /g' file

答案2

对于特定文件,您可以在以下位置运行以下命令vim

您需要按Ctrl+ V+I来创建^I.

:%s /^I/^I^I^I^I/g

相关内容