[Haskell] ANNOUNCE: Haskell mode plugins for Vim

Claus Reinke claus.reinke at talk21.com
Sun Sep 9 20:59:26 EDT 2007

recent off-list discussions have reminded me that it has been 
quite a while since i last announced my haskell mode plugins 
for vim here:


i know that many of you keep up to date with these - thanks
everyone (but especially the gentoo haskell group:-) for the 
positive feedback, useful bug reports and contributions!

but if you haven't had a look since the last announcement in
April, you will want to update (assuming you're using vim;-),
as the plugins have seen a lot of change since then.

the plugins functionality is based partially on ghc(i), haddock
documentation/indexes, and vim scripting, and they are now 
known (or can be configured) to work with a variety of unixes, 
windows, and browsers. the gui vim version is still recommended 
for popup menues and type balloons, but the plugins now also 
work in console vim (useful for remote editing), with console 
mode browsers. handling of qualified names has also improved.

the plugins are now available as a single vimball archive (at 
the time of writing, the latest is dated 20070828), for easy
installation (just open the vimball in vim and follow instructions,
or see :help vimball-extract), and come with a vim help file 
(which the vimball archiver will automatically link into your 
vim's :help on extraction). alternatively, you can select 
individual files for download separately, and gentoo users 
can use the gentoo haskell overlay.

here is the quick reference section from the helpfile:

1.2 Quick Reference ~

|:make|               load into GHCi, show errors (|quickfix| |:copen|)
|_ct|                 create |tags| file 
|_si|                 show info for id under cursor
|_t|                  show type for id under cursor
|_T|                  insert type declaration for id under cursor
|balloon|             show type for id under mouse pointer
|_?|                  browse Haddock entry for id under cursor
|:IDoc| {identifier}  browse Haddock entry for unqualified {identifier}
|:MDoc| {module}      browse Haddock entry for {module}
|_.|                  qualify unqualified id under cursor
|_i|                  add 'import <module>(<identifier>)' for id under cursor
|_im|                 add 'import <module>' for id under cursor
|_ie|                 make imports explit for import statement under cursor
|_opt|                add OPTIONS_GHC pragma
|i_CTRL-X_CTRL-O|     insert-mode completion based on imported ids (|haskellmode-XO|)
|i_CTRL-X_CTRL-U|     insert-mode completion based on documented ids (|haskellmode-XU|)
|i_CTRL-N|            insert-mode completion based on imported sources
|:GHCi|{command/expr} run GHCi command/expr in current module

|:DocSettings|        show current Haddock-files-related plugin settings
|:DocIndex|           populate Haddock index 
|:ExportDocIndex|     cache current Haddock index to a file
|:HpasteIndex|        Read index of most recent entries from hpaste.org
|:HpastePostNew|      Submit current buffer as a new hpaste 

for details, requirements, and settings, see :help haskellmode 
after installation, or read the helpfile online:

the guided tour with screenshots is still at

i only started logging changes and known issues in August:

happy vimming!-)

More information about the Haskell mailing list