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 '~/dgapt', { 'rtp': 'vim' } " Plug '~/lean.vim' Plug 'leanprover/lean.vim' " Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}} Plug 'rickhowe/diffchar.vim' Plug 'raichoo/smt-vim' Plug 'tkztmk/vim-vala' Plug 'wlangstroth/vim-racket' Plug 'dag/vim-fish' 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' }, \} colors jellybeans 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("")) au FileType scala nnoremap :EnDeclaration 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 :FZF " nnoremap K :call LanguageClient_textDocument_hover() " nnoremap gd :call LanguageClient_textDocument_definition() " let g:cm_completekeys = "\(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: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 coc#refresh() " " " Use for confirm completion, `u` means break undo chain at current position. " " Coc only does snippet and additional edit on confirm. " inoremap pumvisible() ? "\" : "\u\" " " " Use `[c` and `]c` for navigate diagnostics " nmap [c (coc-diagnostic-prev) " nmap ]c (coc-diagnostic-next) " " " Remap keys for gotos " nmap gd (coc-definition) " nmap gy (coc-type-definition) " nmap gi (coc-implementation) " nmap gr (coc-references) " " " Use K for show documentation in preview window " nnoremap K :call show_documentation() " " function! s:show_documentation() " if &filetype == 'vim' " execute 'h '.expand('') " else " call CocAction('doHover') " endif " endfunction " " " Highlight symbol under cursor on CursorHold " autocmd CursorHold * silent call CocActionAsync('highlight') " " " Remap for rename current word " nmap rn (coc-rename) " " " Remap for format selected region " vmap f (coc-format-selected) " nmap f (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: `aap` for current paragraph " vmap a (coc-codeaction-selected) " nmap a (coc-codeaction-selected) " " " Remap for do codeAction of current line " nmap ac (coc-codeaction) " " Fix autofix problem of current line " nmap qf (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', )