将 8 个空格制表符替换为 4 个空格制表符

将 8 个空格制表符替换为 4 个空格制表符

我将其添加set tabstop=4 set softtabstop=4 set shiftwidth=4到我的.vimrc 文件中。

但我现有文件中的制表符仍占用 8 个空格。我该如何更新它们?

答案1

因为您提到更新现有文件中的 8 个空格制表符...对这些现有文件分别运行替换:%s/ / /g

您为 .vimrc 定义的 tabstop 方法更改了我文档中的选项卡。可能您在文件中有特定于文档的会话文件或 vim 设置。请参阅此帖子以了解可能的原因和解决方案:https://stackoverflow.com/questions/313463/storing-vim-settings-with-a-document

答案2

如果您想修改文件以便将硬制表符替换为适当数量的空格,那么您可以通过 对其进行过滤pr

加载文件vim,确保您位于第一行(1G),然后过滤整个文件:!Gpr -e4 -tenter

pr -e4xpand 将硬制表符转换为以 4 个制表位为间隔的空格;这-t表示pr不要对文件进行分页(这通常用于格式化文件以供打印,因此得名)。

你也可以用-i(例如爆发(英语:mplode)。

如需参考,请参阅POSIX 程序

相关内容