我使用的是ocamldoc风格的评论,但是vim让我讨厌,因为它在不应该的时候缩进评论。
例如,使用以下代码:
(**
* {[
如果我在上面代码的第二行打开一个新行,vim将缩进代码,使它看起来像:
(**
* {[
*
所以我每次都需要删除4个空格。
我尝试使用ocp-indent
,但结果是一样的。
当我在ocamldoc评论中打开一个新行时,我怎能做到没有四个额外空格?
感谢。
答案 0 :(得分:1)
评论中的主要明星在OCaml中并不是惯用的(并且由ocamldoc处理不当),只是放下星星。
您观察到的行为可能是预期的。大多数缩进引擎尝试在注释中缩进代码,{[
是解释缩进的代码块的开头。
答案 1 :(得分:1)
我发现通过编辑ocaml缩进文件我可以获得所需的行为。
我更新了第208行:
if lline =~ '\(:\|=\|->\|<-\|(\|\[\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$'
为:
if lline =~ '\(:\|=\|->\|<-\|(\|{\|{<\|\[|\|\[<\|\<\(begin\|do\|else\|fun\|function\|functor\|if\|initializer\|object\|parser\|private\|sig\|struct\|then\|try\)\|\<object\s*(.*)\)\s*$'
(我从此正则表达式中删除了\[
模式。)
此更改的效果是在评论之外[
之后也没有缩进,但我不介意这种副作用。
我会在几天前打开这个问题,看看是否有更好的解决方案。