init.vim

다음은 2017년 1월 1일을 기준, 내가 쓰고 있는 vim 설정 파일이다. NeoVim을 쓰고 있기 때문에 ~/.config 아래에 위치해있다.

~/.config/nvim/init.vim
" color scheme
set background=dark

if (has("termguicolors"))
    set termguicolors
endif

syntax on
filetype on
filetype indent on
filetype plugin on

set number
set wrap
set smarttab
set smartcase
set smartindent
set autoindent
set cindent
set softtabstop=4
set shiftwidth=4
set tabstop=4
set expandtab
set textwidth=80
set ruler

call plug#begin('~/.config/nvim/plugged')
Plug 'nbouscal/vim-stylish-haskell', {'for': 'haskell'}
Plug 'eagletmt/ghcmod-vim'
Plug 'Shougo/vimproc.vim', {'do' : 'make'}
Plug 'vim-syntastic/syntastic'
Plug 'ervandew/supertab'
Plug 'ctrlpvim/ctrlp.vim'
Plug 'kristijanhusak/vim-hybrid-material'
Plug 'vim-ruby/vim-ruby'
Plug 'rust-lang/rust.vim'
Plug 'eagletmt/neco-ghc'
Plug 'slim-template/vim-slim'
" Plug 'jacoborus/tender' " color scheme
" Plug 'mhartington/oceanic-next' " color scheme
Plug 'ElmCast/elm-vim'
Plug 'vim-airline/vim-airline'
Plug 'vim-airline/vim-airline-themes'
Plug 'elixir-lang/vim-elixir'
call plug#end()

colorscheme hybrid_material

" vim-syntastic/syntastic
set statusline+=%#warningmsg#
set statusline+=%{SyntasticStatuslineFlag()}
set statusline+=%*

let g:syntastic_always_populate_loc_list = 1
let g:syntastic_auto_loc_list = 1
let g:syntastic_check_on_open = 0
let g:syntastic_check_on_wq = 0
let g:syntastic_haskell_checkers = ['hlint', 'ghc_mod']

let g:elm_syntastic_show_warnings = 1

let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'

" eagletmt/ghcmod-vim
map <silent> tw :GhcModTypeInsert<CR>
map <silent> tq :GhcModType<CR>

" ElmCast/elm-vim
let g:elm_format_autosave = 1

" vim-airline/vim-airline
let g:airline_theme='hybrid'

" rust-lang/rust.vim
let g:rustfmt_autosave = 1