如何在Vim和Yaml中实现优秀的自动缩进?

21

目前我在使用Vim编辑Yaml文件时,使用了set autoindent命令。它可以通过复制上一行的缩进来实现新行的缩进,看起来工作得还不错。然而,我总觉得它可以更加智能化。如果在foo: "bar"后开始一行,应该保持相同的缩进级别,但在foo:后开始一行,则应该增加一个额外的缩进级别。

2个回答

13

Xavier激发了我对此进行一些修改,并开发了适用于Yaml的自己的缩进脚本。它不能处理更高级的Yaml功能,但它可以做我最初要求的事情。

要使用它,您只需将其放入~/.vim/after/ftplugin/yaml.vim(假设您使用了set ftplugin on)即可。


4

特定缩进规则按语言存储在:
$VIMRUNTIME\indent\foo.vim(其中foo是语言名称)。

在我的默认安装中,我有 ruby.vim, haml.vim 等许多文件,但没有 yaml.vim

您可以创建一个 indent\yaml.vim 文件来获取所需的缩进规则。我已经试图在网上搜索是否有类似的文件可用,但没有找到。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接