在SO上搜索"vim haskell indent“。关于如何将Vim配置为Haskell缩进,有很多答案。它们都不是真正“有效”的。它们不提供Haskell indentation wiki page推荐的代码。例如,do或let块中语句的对齐方式、数据类型的=
和|
等。
有没有Vim解决方案可以像wiki一样生成代码?
发布于 2011-12-24 16:18:08
这可能不是您正在寻找的答案,但有一种方法可以让您遵循缩进wiki指南,并与大多数编辑器兼容。
例如,do-block
而不是
myFunc x = do y <- bar
return $ x + y
你可以像这样缩进它
myFunx x = do
y <- bar
return $ x + y
这是在缩进wiki中明确提到的一种可接受的替代方案。
同样,您可以设置数据类型的格式
data FooBar
= Foo
| Bar
| Asdf
守卫
myFunc x
| x < 0 = 0
| otherwise = x
Where子句
myFunc x = x + y + c where
y = x + 5
c = x * y
以此类推。
我个人开始使用这种风格是因为,就像你所说的,没有任何编辑器可以可靠地缩进代码。这在所有编辑器中工作得更好,因为缩进始终是4的倍数(或者您为基础缩进级别选择的任何其他值)。当我使用这种风格时,我也开始在视觉上喜欢这种一致的缩进级别,所以即使编辑器变得更聪明,我也不会在这一点上回头。
https://stackoverflow.com/questions/8621931
复制相似问题