284 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
			
		
		
	
	
			284 lines
		
	
	
		
			7.2 KiB
		
	
	
	
		
			VimL
		
	
	
	
	
	
se nocompatible
 | 
						|
 | 
						|
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 'junegunn/fzf', { 'dir': '~/.fzf' }
 | 
						|
Plug 'junegunn/fzf.vim'
 | 
						|
 | 
						|
Plug 'ciaranm/securemodelines'
 | 
						|
 | 
						|
Plug 'chrisbra/SudoEdit.vim'
 | 
						|
 | 
						|
Plug 'majutsushi/tagbar'
 | 
						|
Plug 'bling/vim-airline'
 | 
						|
Plug 'tomtom/tcomment_vim'
 | 
						|
" Plug 'jalcine/cmake.vim' --slow
 | 
						|
 | 
						|
" Plug 'roxma/nvim-completion-manager'
 | 
						|
 | 
						|
Plug 'editorconfig/editorconfig-vim'
 | 
						|
" vim-sleuth?
 | 
						|
 | 
						|
Plug 'kchmck/vim-coffee-script'
 | 
						|
Plug 'pangloss/vim-javascript'
 | 
						|
Plug 'mtscout6/vim-cjsx'
 | 
						|
Plug 'mxw/vim-jsx'
 | 
						|
Plug 'othree/html5.vim'
 | 
						|
Plug 'digitaltoad/vim-jade'
 | 
						|
" Plug 'marijnh/tern_for_vim'
 | 
						|
 | 
						|
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 'jnwhiteh/vim-golang'
 | 
						|
Plug 'Blackrush/vim-gocode'
 | 
						|
 | 
						|
Plug 'zah/nimrod.vim'
 | 
						|
 | 
						|
Plug 'wting/rust.vim'
 | 
						|
Plug 'racer-rust/vim-racer', { 'for': 'rust' }
 | 
						|
Plug 'cespare/vim-toml'
 | 
						|
 | 
						|
Plug 'derekwyatt/vim-scala'
 | 
						|
" Plug 'ensime/ensime-vim'
 | 
						|
 | 
						|
Plug 'dogrover/vim-pentadactyl'
 | 
						|
Plug 'superbrothers/vim-vimperator'
 | 
						|
 | 
						|
Plug 'idris-hackers/idris-vim'
 | 
						|
 | 
						|
Plug 'tpope/vim-fugitive' " git integration
 | 
						|
Plug 'jreybert/vimagit'
 | 
						|
Plug 'airblade/vim-gitgutter'
 | 
						|
 | 
						|
Plug 'lervag/vimtex'
 | 
						|
" Plug 'ludovicchabant/vim-gutentags'
 | 
						|
Plug 'kana/vim-textobj-user'
 | 
						|
Plug 'kana/vim-textobj-indent'
 | 
						|
 | 
						|
Plug 'rhysd/vim-grammarous'
 | 
						|
 | 
						|
Plug 'tpope/vim-surround'
 | 
						|
 | 
						|
Plug 'tpope/vim-characterize'
 | 
						|
 | 
						|
Plug 'peterhoeg/vim-qml'
 | 
						|
 | 
						|
Plug 'ekalinin/Dockerfile.vim'
 | 
						|
 | 
						|
Plug 'jvoorhis/coq.vim'
 | 
						|
 | 
						|
Plug 'LnL7/vim-nix'
 | 
						|
 | 
						|
Plug 'urbit/hoon.vim'
 | 
						|
 | 
						|
Plug 'ahf/twelf-syntax'
 | 
						|
 | 
						|
Plug 'c-cube/vim-tptp'
 | 
						|
 | 
						|
Plug 'sirtaj/vim-openscad'
 | 
						|
 | 
						|
Plug 'SirVer/ultisnips'
 | 
						|
Plug 'honza/vim-snippets'
 | 
						|
 | 
						|
Plug 'nanotech/jellybeans.vim'
 | 
						|
Plug 'sonph/onehalf', { 'rtp': 'vim' }
 | 
						|
 | 
						|
Plug '~/dgapt', { 'rtp': 'vim' }
 | 
						|
" Plug '~/lean.vim'
 | 
						|
Plug 'leanprover/lean.vim'
 | 
						|
 | 
						|
" Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}}
 | 
						|
" Plug 'autozimu/LanguageClient-neovim', { 'do': ':UpdateRemotePlugins' }
 | 
						|
Plug 'Shougo/echodoc.vim'
 | 
						|
 | 
						|
Plug 'rickhowe/diffchar.vim'
 | 
						|
 | 
						|
Plug 'raichoo/smt-vim'
 | 
						|
 | 
						|
Plug 'tkztmk/vim-vala'
 | 
						|
 | 
						|
Plug 'wlangstroth/vim-racket'
 | 
						|
 | 
						|
Plug 'dag/vim-fish'
 | 
						|
 | 
						|
Plug 'elixir-editors/vim-elixir'
 | 
						|
 | 
						|
" Plug 'glacambre/firenvim', { 'do': { _ -> firenvim#install(0) } }
 | 
						|
 | 
						|
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
 | 
						|
se foldlevel=99
 | 
						|
set vb                          " turn on the "visual bell" - which is much quieter than the "audio blink"
 | 
						|
set nobackup
 | 
						|
se bs=2
 | 
						|
 | 
						|
set backupcopy=yes
 | 
						|
 | 
						|
se inccommand=nosplit
 | 
						|
 | 
						|
set mouse=
 | 
						|
set title
 | 
						|
 | 
						|
let g:jellybeans_overrides = {
 | 
						|
  \    'background': { 'guibg': '000000' },
 | 
						|
  \    'Normal': { 'guifg': 'ffffff' },
 | 
						|
  \}
 | 
						|
 | 
						|
if exists('g:started_by_firenvim')
 | 
						|
  set bg=light
 | 
						|
  colors onehalflight
 | 
						|
else
 | 
						|
  colors jellybeans
 | 
						|
endif
 | 
						|
 | 
						|
au syntax java  setl ts=4 sts=4 sw=4
 | 
						|
 | 
						|
au BufNewFile,BufRead *.s setl ft=tptp
 | 
						|
au BufNewFile,BufRead *.s.out setl ft=tptp
 | 
						|
au BufNewFile,BufRead *.tptp setl ft=tptp
 | 
						|
au BufNewFile,BufRead *.smt2 setl ft=smt
 | 
						|
 | 
						|
au BufReadCmd *.epub call zip#Browse(expand("<amatch>"))
 | 
						|
au BufReadCmd *.FCStd call zip#Browse(expand("<amatch>"))
 | 
						|
 | 
						|
au FileType scala nnoremap <silent> <c-]> :EnDeclaration<cr>
 | 
						|
 | 
						|
au syntax haskell setl omnifunc=necoghc#omnifunc
 | 
						|
let g:necoghc_enable_detailed_browse=1
 | 
						|
let g:haskell_conceal              = 0
 | 
						|
 | 
						|
call tcomment#type#Define('nix', '# %s')
 | 
						|
call tcomment#type#Define('chaskell', '-- %s')
 | 
						|
call tcomment#type#Define('vala', '// %s')
 | 
						|
call tcomment#type#Define('tptp', '%% %s')
 | 
						|
 | 
						|
au syntax tex setl iskeyword+=:
 | 
						|
au syntax tex syn region texZone start="\\begin{clilisting}" end="\\end{clilisting}\|%stopzone\>"
 | 
						|
au syntax tex syn region texZone start="\\begin{tacticslisting}" end="\\end{tacticslisting}\|%stopzone\>"
 | 
						|
au syntax tex syn region texZone start="\\begin{tacticsoutput}" end="\\end{tacticsoutput}\|%stopzone\>"
 | 
						|
 | 
						|
" disable annoying "file is read-only" warnings
 | 
						|
au FileChangedRO * set noreadonly
 | 
						|
 | 
						|
nnoremap <c-p> :FZF<cr>
 | 
						|
 | 
						|
" nnoremap <silent> K :call LanguageClient_textDocument_hover()<CR>
 | 
						|
" nnoremap <silent> gd :call LanguageClient_textDocument_definition()<CR>
 | 
						|
 | 
						|
" let g:cm_completekeys = "\<Plug>(cm_completefunc)"
 | 
						|
 | 
						|
" " call LanguageClient_setLoggingLevel('DEBUG')
 | 
						|
" let g:LanguageClient_trace = 'verbose'
 | 
						|
" let g:LanguageClient_autoStart = 1
 | 
						|
" let g:LanguageClient_serverCommands = {
 | 
						|
"     \ 'lean': ['node', '/home/gebner/lean-client-js/lean-language-server/lib/index.js', '--stdio'],
 | 
						|
"     \ }
 | 
						|
 | 
						|
let g:gutentags_cache_dir="~/.config/nvim/gutentags"
 | 
						|
 | 
						|
let g:tex_flavor = 'latex'
 | 
						|
let g:vimtex_compiler_progname = 'nvr'
 | 
						|
augroup my_cm_setup
 | 
						|
  autocmd!
 | 
						|
  autocmd User CmSetup call cm#register_source({
 | 
						|
	\ 'name' : 'vimtex',
 | 
						|
	\ 'priority': 8,
 | 
						|
	\ 'scoping': 1,
 | 
						|
	\ 'scopes': ['tex'],
 | 
						|
	\ 'abbreviation': 'tex',
 | 
						|
	\ 'cm_refresh_patterns': g:vimtex#re#ncm,
 | 
						|
	\ 'cm_refresh': {'omnifunc': 'vimtex#complete#omnifunc'},
 | 
						|
	\ })
 | 
						|
augroup END
 | 
						|
 | 
						|
" " coc.nvim
 | 
						|
"
 | 
						|
"
 | 
						|
" inoremap <silent><expr> <c-space> coc#refresh()
 | 
						|
"
 | 
						|
" " Use <cr> for confirm completion, `<C-g>u` means break undo chain at current position.
 | 
						|
" " Coc only does snippet and additional edit on confirm.
 | 
						|
" inoremap <expr> <cr> pumvisible() ? "\<C-y>" : "\<C-g>u\<CR>"
 | 
						|
"
 | 
						|
" " Use `[c` and `]c` for navigate diagnostics
 | 
						|
" nmap <silent> [c <Plug>(coc-diagnostic-prev)
 | 
						|
" nmap <silent> ]c <Plug>(coc-diagnostic-next)
 | 
						|
"
 | 
						|
" " Remap keys for gotos
 | 
						|
" nmap <silent> gd <Plug>(coc-definition)
 | 
						|
" nmap <silent> gy <Plug>(coc-type-definition)
 | 
						|
" nmap <silent> gi <Plug>(coc-implementation)
 | 
						|
" nmap <silent> gr <Plug>(coc-references)
 | 
						|
"
 | 
						|
" " Use K for show documentation in preview window
 | 
						|
" nnoremap <silent> K :call <SID>show_documentation()<CR>
 | 
						|
"
 | 
						|
" function! s:show_documentation()
 | 
						|
"   if &filetype == 'vim'
 | 
						|
"     execute 'h '.expand('<cword>')
 | 
						|
"   else
 | 
						|
"     call CocAction('doHover')
 | 
						|
"   endif
 | 
						|
" endfunction
 | 
						|
"
 | 
						|
" " Highlight symbol under cursor on CursorHold
 | 
						|
" autocmd CursorHold * silent call CocActionAsync('highlight')
 | 
						|
"
 | 
						|
" " Remap for rename current word
 | 
						|
" nmap <leader>rn <Plug>(coc-rename)
 | 
						|
"
 | 
						|
" " Remap for format selected region
 | 
						|
" vmap <leader>f  <Plug>(coc-format-selected)
 | 
						|
" nmap <leader>f  <Plug>(coc-format-selected)
 | 
						|
"
 | 
						|
" augroup mygroup
 | 
						|
"   autocmd!
 | 
						|
"   " Setup formatexpr specified filetype(s).
 | 
						|
"   autocmd FileType typescript,json setl formatexpr=CocAction('formatSelected')
 | 
						|
"   " Update signature help on jump placeholder
 | 
						|
"   autocmd User CocJumpPlaceholder call CocActionAsync('showSignatureHelp')
 | 
						|
" augroup end
 | 
						|
"
 | 
						|
" " Remap for do codeAction of selected region, ex: `<leader>aap` for current paragraph
 | 
						|
" vmap <leader>a  <Plug>(coc-codeaction-selected)
 | 
						|
" nmap <leader>a  <Plug>(coc-codeaction-selected)
 | 
						|
"
 | 
						|
" " Remap for do codeAction of current line
 | 
						|
" nmap <leader>ac  <Plug>(coc-codeaction)
 | 
						|
" " Fix autofix problem of current line
 | 
						|
" nmap <leader>qf  <Plug>(coc-fix-current)
 | 
						|
"
 | 
						|
" " Use `:Format` for format current buffer
 | 
						|
" command! -nargs=0 Format :call CocAction('format')
 | 
						|
"
 | 
						|
" " Use `:Fold` for fold current buffer
 | 
						|
" command! -nargs=? Fold :call     CocAction('fold', <f-args>)
 |