etc/vimrc

198 lines
4.7 KiB
VimL
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

se nocompatible
filetype off
call plug#begin('~/.vim/plugged')
Plug 'tpope/vim-sensible'
Plug 'ntpeters/vim-better-whitespace'
Plug 'nathanaelkane/vim-indent-guides'
Plug 'chrisbra/Recover.vim'
" Plug 'Valloric/YouCompleteMe', { 'do': './install.sh --clang-completer --system-libclang' }
Plug 'Shougo/vimproc.vim' , { 'do': 'make -f make_unix.mak' }
Plug 'Shougo/unite.vim'
Plug 'tsukkee/unite-tag'
Plug 'Shougo/neomru.vim'
Plug 'ciaranm/securemodelines'
Plug 'chrisbra/SudoEdit.vim'
Plug 'nanotech/jellybeans.vim'
Plug 'majutsushi/tagbar'
Plug 'bling/vim-airline'
Plug 'scrooloose/syntastic'
Plug 'tomtom/tcomment_vim'
"Plug 'Raimondi/delimitMate'
" Plug 'jalcine/cmake.vim' --slow
Plug 'editorconfig/editorconfig-vim'
Plug 'kchmck/vim-coffee-script'
Plug 'pangloss/vim-javascript'
Plug 'mtscout6/vim-cjsx'
Plug 'mxw/vim-jsx'
Plug 'ledger/vim-ledger'
Plug 'dag/vim2hs'
Plug 'eagletmt/ghcmod-vim'
Plug 'eagletmt/neco-ghc'
" clojure
Plug 'tpope/vim-leiningen'
Plug 'tpope/vim-projectionist'
Plug 'tpope/vim-dispatch'
Plug 'tpope/vim-fireplace'
Plug 'marijnh/tern_for_vim'
Plug 'jnwhiteh/vim-golang'
Plug 'Blackrush/vim-gocode'
Plug 'zah/nimrod.vim'
Plug 'wting/rust.vim'
Plug 'derekwyatt/vim-scala'
Plug 'othree/html5.vim'
Plug 'dogrover/vim-pentadactyl'
Plug 'superbrothers/vim-vimperator'
Plug 'idris-hackers/idris-vim'
Plug 'tpope/vim-fugitive' " git integration
Plug 'kana/vim-textobj-user'
Plug 'rbonvall/vim-textobj-latex'
Plug 'kana/vim-textobj-indent'
Plug 'bps/vim-textobj-python'
Plug 'kana/vim-textobj-function'
Plug 'rhysd/vim-grammarous'
Plug 'tpope/vim-surround'
Plug 'Lokaltog/vim-easymotion'
Plug 'peterhoeg/vim-qml'
Plug 'ekalinin/Dockerfile.vim'
Plug 'digitaltoad/vim-jade'
Plug 'jvoorhis/coq.vim'
Plug 'MarcWeber/vim-addon-mw-utils'
Plug 'tomtom/tlib_vim'
Plug 'MarcWeber/vim-addon-actions'
Plug 'MarcWeber/vim-addon-completion'
Plug 'MarcWeber/vim-addon-goto-thing-at-cursor'
Plug 'MarcWeber/vim-addon-errorformats'
Plug 'MarcWeber/vim-addon-nix'
" vim-sleuth?
Plug 'urbit/hoon.vim'
call plug#end()
filetype plugin indent on
set tw=0 expandtab ts=8 sts=2 sw=2 sm ai si
set noml mls=5 " scan 5 lines for modelines
syn on " enable syntax highlighting
set hls " highlight search
set bg=dark " dark background
filetype plugin on
au BufNewFile,BufRead *.vala setf cs
au BufNewFile,BufRead *.md set ft=markdown
au syntax java set ts=4 sts=4 sw=4
au BufNewFile,BufRead *.i set ft=swig
au BufReadCmd *.epub call zip#Browse(expand("<amatch>"))
au syntax haskell setl omnifunc=necoghc#omnifunc
let g:necoghc_enable_detailed_browse=1
let g:haskell_conceal = 0
au syntax tex setl iskeyword+=:
let g:syntastic_tex_checkers=['lacheck']
call tcomment#DefineType('nix', '# %s')
" better paragraph object for tex files FIXME
call textobj#user#plugin('latexparagraph', {
\ 'paragraph': {
\ 'pattern': ['\n\s*\n\\|\\end\\|\\begin', '\n\s*\n\\|\\begin\\|\\end'],
\ 'select-a': 'al',
\ 'select-i': 'il',
\ },
\ })
" disable annoying "file is read-only" warnings
au FileChangedRO * set noreadonly
se foldlevel=99
set vb " turn on the "visual bell" - which is much quieter than the "audio blink"
set nobackup
se bs=2
let g:ycm_filetype_blacklist = { 'sql': 1 }
let g:ycm_semantic_triggers = {'haskell' : ['.']}
let g:ycm_show_diagnostics_ui = 1
let g:EclimCompletionMethod = 'omnifunc'
" WIP
function LedgerGeneratePostings()
'<,'>!ledger -f - print --generated
'<,'>s/\s\s\s+/ /g
endfunction
let g:jellybeans_background_color = '000000'
if &term == "screen" || &term == "screen-bce"
set t_ts=k
set t_fs=\
endif
set title
" unite bindings
if executable('ag')
let g:unite_source_grep_command = 'ag'
let g:unite_source_grep_default_opts = '--noheading --nocolor'
let g:unite_source_rec_async_command= 'ag --nocolor --nogroup -g ""'
endif
call unite#filters#matcher_default#use(['matcher_fuzzy'])
call unite#filters#sorter_default#use(['sorter_selecta'])
call unite#custom#profile('default', 'context', {
\ 'ignorecase': 1,
\ 'smartcase': 1,
\ })
" The prefix key
nnoremap [unite] <Nop>
nmap <space> [unite]
" General purpose
nnoremap [unite]<space> :Unite -start-insert source<cr>
" Files
nnoremap [unite]f :Unite -start-insert file_rec/async<cr>
" Grepping
nnoremap [unite]g :Unite grep:.<cr>
nnoremap [unite]d :Unite grep:.:-s:\(TODO\|FIXME\)<cr>
" Content
nnoremap [unite]o :Unite -start-insert -auto-preview outline<cr>
nnoremap [unite]l :Unite -start-insert line<cr>
nnoremap [unite]t :Unite -auto-preview -start-insert tag<cr>
" Quickly switch between recent things
nnoremap [unite]F :Unite buffer tab file_mru directory_mru<cr>
nnoremap [unite]b :Unite buffer<cr>
nnoremap [unite]m :Unite file_mru<cr>
" Yank history
nnoremap [unite]y :Unite history/yank<cr>