Skip to content

Instantly share code, notes, and snippets.

@DevNebulae
Last active November 10, 2019 21:00
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DevNebulae/47b3d19795946db4dd43b3e3016bd926 to your computer and use it in GitHub Desktop.
Save DevNebulae/47b3d19795946db4dd43b3e3016bd926 to your computer and use it in GitHub Desktop.
init.vim
call plug#begin()
Plug 'airblade/vim-gitgutter'
Plug 'editorconfig/editorconfig-vim'
Plug 'itchyny/lightline.vim'
Plug 'neomake/neomake'
Plug 'scrooloose/nerdtree'
" Haskell
Plug 'neovimhaskell/haskell-vim'
Plug 'parsonsmatt/intero-neovim'
call plug#end()
" General settings
syntax on
set autoindent
set encoding=utf-8
set expandtab
set number
set shiftwidth=2
set wrap
" Lightline
if !has('gui_running')
set t_Co=256
endif
set noshowmode
" NERDTree
autocmd StdinReadPre * let s:std_in=1
autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | endif
autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') | exe 'NERDTree' argv()[0] | windcmd p | ene | exe 'cd '.argv()[0] | endif
let NERDTreeShowHidden = 1
let NERDTreeQuitOnOpen = 1
map <C-n> :NERDTreeToggle<CR>
" Neomake
call neomake#configure#automake('w')
let g:neomake_open_list = 2
" Haskell
augroup interoMaps
au!
au BufWritePost *.hs InteroReload
au FileType haskell nnoremap <silent> <leader>is :InteroStart<CR>
au FileType haskell nnoremap <silent> <leader>ik :InteroKill<CR>
au FileType haskell nnoremap <silent> <leader>io :InteroOpen<CR>
au FileType haskell nnoremap <silent> <leader>iov :InteroOpen<CR><C-W>H
au FileType haskell nnoremap <silent> <leader>ih :InteroHide<CR>
au FileType haskell nnoremap <silent> <leader>il :InteroLoadCurrentModule<CR>
au FileType haskell nnoremap <silent> <leader>if :InteroLoadCurrentFile<CR>
au FileType haskell map <silent> <leader>t <Plug>InteroGenericType
au FileType haskell map <silent> <leader>T <Plug>InteroType
au FileType haskell nnoremap <silent> <leader>it :InteroTypeInsert<CR>
au FileType haskell nnoremap <silent> <leader>jd :InteroGoToDef<CR>
au FileType haskell nnoremap <leader>ist :InteroSetTargets<SPACE>
augroup END
let g:haskell_enable_arrowsyntax = 1
let g:haskell_enable_pattern_synonyms = 1
let g:haskell_enable_quantification = 1
let g:haskell_enable_recursivedo = 1
let g:haskell_enable_static_pointers = 1
let g:haskell_enable_typeroles = 1
let g:intero_type_on_hover = 1
let g:neomake_haskell_enabled_makers = []
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment