Haskell mode for Vim

omni補完、ヘルプ、デバッグなどお便利機能満載。

Haskell mode for Vim

いい感じかも。


激しく使えそうなコマンドが、

:GHCi main

ghciで関数mainを作用させられる。


ちょっと面倒なので、~/.vim/after/ftplugin/haskell.vimをmapしてっと。

function! s:GetSelect() range
    let saved_reg = @"
    silent normal `<v`>y
    let str = @"
    let @" = saved_reg
    return str
endfunction

function! s:SaveAndEval(str)
  w %
  exe "GHCi " . a:str
endfunction

vmap <buffer> <silent> <C-CR> :call <SID>SaveAndEval(<SID>GetSelect())<CR>
nmap <buffer> <silent> <C-CR> :call <SID>SaveAndEval(expand('<cword>'))<CR>
  • ノーマルモードのときは、カーソル下の単語を作用
  • ビジュアルモードのときは、選択範囲を作用

かなり便利。