[英]How to edit .vimrc file to replace tab with spaces?
我正在编写一个Python脚本,它将一些格式化的数据写入YAML文件。 我使用制表符格式化文本,但我希望在写入YAML文件时将制表符转换为空格。 这是因为我的YAML文件没有将制表符作为有效的缩进标记。
我试过这个:
第1步:转到您的主目录
cd ~
第2步:创建文件
vim .vimrc
第3步:添加下面所述的配置
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演员那里得到了这个答案。 整理空白
Vim已经可以检测到文件类型为yaml,因此您可以使用它来替换YAML文件中的所有TAB。添加此.vimrc
:autocmd FileType yaml execute ':silent! %s#^\t\+#\=repeat(" ", len(submatch(0))*' . &ts . ')'
如果主目录不存在,请在主目录中创建.vimrc文件。 编辑文件并添加以下行
set tabstop=4
set shiftwidth=4
set expandtab
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.