当我打开常规* .hs文件的autoindent
时,按 Enter 之后新行将按预期缩进。但是,这不适用于代码行以>
开头的literate Haskell * .lhs文件(AKA“bird-tracks”)。光标始终位于第一列。
如何设置vim,以便当我在* .lhs文件中的一段代码中(并且让其说开启autoindent
时),按 Enter 在新行创建一个鸟类轨道并适当缩进?
更新:举个例子,假设有
> myfn x | x <= 0 = 0
> | x == 1 = 1▌
其中▌
表示光标的位置(我希望您看到unicode字符没有问题。)如果我按 Enter ,我最终会
> myfn x | x <= 0 = 0
> | x == 1 = 1
▌
而我想要
> myfn x | x <= 0 = 0
> | x == 1 = 1
> ▌
答案 0 :(得分:7)
这应该很容易实现
:set formatoptions+=ro
或:se fo+=ro
简称。
'formatoptions'
中有r
和o
,Vim会尝试在注释中的新行上插入注释“leader”,包括缩进(即文字Haskell中的非注释) )。
要自动进行此设置,请在vimrc中设置自动命令。
autocmd FileType lhaskell setlocal formatoptions+=ro
提示:当您不需要时,使用CTRL-U
删除自动插入的领导者。