Haskell和Vim:适当的缩进

在SO上搜索vim haskell indent”。有很多答案如何配置Vim为Haskell缩进。他们都没有真正的“工作”。它们不提供由 Haskell indentation wiki page推荐的代码。例如,在do或let块中的语句对齐,=和|的数据类型等

是否存在生成像wiki这样的代码的Vim解决方案?

这可能不是您正在寻找的答案,但有一种方法可以跟踪缩进维基指南,并与大多数编辑兼容。

例如,do-blocks

代替

myFunc x = do y <- bar
              return $ x + y

你可以这样缩进

myFunx x = do
    y <- bar
    return $ x + y

这在缩进维基中被明确提及为可接受的替代方案。

以同样的方式,您可以格式化数据类型

data FooBar
    = Foo
    | Bar
    | Asdf

逆天

myFunc x
    | x < 0     = 0
    | otherwise = x

当从句

myFunc x = x + y + c where
    y = x + 5
    c = x * y

等等…

我个人开始使用这种风格,因为像你说的那样,没有编辑可以可靠地缩进代码。这在所有的编辑器中都能更好地工作,因为缩进总是四分之一的倍数(或者您选择的基准缩进级别)。当我使用这种风格,我也开始喜欢视觉上这种一致的缩进级别,所以即使编辑变得更聪明,我也不会回到这一点。

相关文章

解决方案:解决linux下vim乱码的情况:(修改vimrc的内容)全...
Linuxvi/vim所有的UnixLike系统都会内建vi文书编辑器,其他的...
      vim正则匹配:空行:/^$/  /^[\t]*$/注释...
$select-editorSelectaneditor.Tochangelater,run'sele...
上次手贱忘了保存,这次就简单做个备忘吧,把踩过的坑记一下...
Linux之文本编译器小结vim的优势所有的UNIX-LIKE习通都会内置...