gpt4 book ai didi

vim - 如何编辑 .vimrc 文件以用空格替换制表符?

转载 作者:行者123 更新时间:2023-12-01 11:33:31 25 4
gpt4 key购买 nike

我正在编写一个 Python 脚本,它将一些格式化数据写入 YAML 文件。我使用制表符来格式化文本,但我希望在写入 YAML 文件时将制表符转换为空格。这是因为我的 YAML 文件没有将制表符作为有效的缩进标记。

我试过这个:

第 1 步:转到您的主目录

cd ~

第 2 步:创建文件
vim .vimrc

第三步:添加如下配置
set smartindent

set tabstop=4

set shiftwidth=4

set expandtab

:retab

但这不起作用。创建的 YAML 文件仍然有选项卡。制表符不会转换为空格。

请建议我应该对我的 .vimrc 进行哪些更改文件,以便将制表符转换为空格以进行有效缩进。

Python脚本:
template = open("/home/stack/horizon/openstack_dashboard/dashboards/mydashboard/mypanel/extracted_template.yaml","w")

networks = api.neutron.network_list_for_tenant(self.request,tenant_id,params={})

for n in range(0,len(networks)):
n_name = networks[n]['name']
print>>template,"\tprivate_net%d:"%n,"\n\t type: OS::Neutron::Net","\n\t properties:","\n\t name:",n_name

最佳答案

要将制表符转换为空格,请按以下顺序使用以下命令:

:set noexpandtab
:retab!
:set expandtab
:retab!

我从观看这个 vim 类型转换中得到了这个答案。
Tidying Whitespace

Vim 已经可以检测到 yaml 文件类型,因此您可以使用它来替换 YAML 文件中的所有 TAB 将其添加到您的 .vimrc
:autocmd FileType yaml execute  ':silent! %s#^\t\+#\=repeat(" ", len(submatch(0))*' . &ts . ')'

关于vim - 如何编辑 .vimrc 文件以用空格替换制表符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29913518/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com