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

use*_*330 2 vim sed ed

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

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

例如

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

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

cuo*_*glm 6

将这些行添加到您的.vimrc

set tabstop=4
set shiftwidth=4
set expandtab
Run Code Online (Sandbox Code Playgroud)

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

:retab
Run Code Online (Sandbox Code Playgroud)

这会将文件中的所有现有选项卡转换为空格。

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

perl -i.bak -pe 's/\t/    /g' file
Run Code Online (Sandbox Code Playgroud)