Haskell pretty printer. hindent is used in a pipeline style. The default indentation size is 2 spaces. Create a hindent.yaml file in your project directory or in your ~/ home directory. By default, hindent preserves the newline or lack of newline in your input. With force-trailing-newline, it will make sure there is always a trailing newline. hindent can be forced to insert a newline before specific operators and tokens with line-breaks. This is especially useful when utilizing libraries like servant which use long-type aliases. Using extensions, hindent can be made aware of valid syntactic compiler extensions that would normally be considered invalid syntax. The 'formatprg' option lets you use an external program (like hindent) to format your text. Note that unlike in emacs you have to take care of selecting a sensible buffer region as input to hindent yourself. If that is too much trouble you can try vim-textobj-haskell which provides a text object for top-level bindings.