我正在为dg语言编写一个插件,当一行以某些指定的符号终止时,我该如何自动缩进?
例如,如果该行以->
或~>
或=>
结束,而我按 Enter ,则光标将以缩进的新行显示更深层次。我想我应该把代码放在indent
目录中?
答案 0 :(得分:1)
内置缩进方法(cindent
,autoindent
,smartindent
)不足以使用自定义语言。您需要编写自己的缩进插件,这将插入~/.vim/indent/dg.vim
。
基本上,您需要编写一个Vimscript函数来检查当前(和之前的)行,并从中确定缩进级别。然后将此功能安装到'indentexpr'
中。请参阅:help indent-expression
,遗憾的是,建议您只查看现有的缩进脚本。