diff --git a/after/ftplugin/haskell.vim b/after/ftplugin/haskell.vim index 9516c1c..6f9646f 100644 --- a/after/ftplugin/haskell.vim +++ b/after/ftplugin/haskell.vim @@ -201,135 +201,3 @@ let g:neoformat_enabled_haskell = ['brittany'] -" ============ coc.nvim =========== -" markdown rendering of code blocks -let g:markdown_fenced_languages = ['haskell'] - -" if hidden is not set, TextEdit might fail. -set hidden - -" Some servers have issues with backup files, see #649 -set nobackup -set nowritebackup - -" Better display for messages -"set cmdheight=2 - -" You will have bad experience for diagnostic messages when it's default 4000. -set updatetime=300 - -" don't give |ins-completion-menu| messages. -set shortmess+=c - -" always show signcolumns -set signcolumn=yes - -" Use tab for trigger completion with characters ahead and navigate. -" Use command ':verbose imap ' to make sure tab is not mapped by other plugin. -inoremap - \ pumvisible() ? "\" : - \ check_back_space() ? "\" : - \ coc#refresh() -inoremap pumvisible() ? "\" : "\" - -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" Use to trigger completion. -inoremap coc#refresh() - -" Use to confirm completion, `u` means break undo chain at current position. -" Coc only does snippet and additional edit on confirm. -inoremap pumvisible() ? "\" : "\u\" -" Or use `complete_info` if your vim support it, like: -" inoremap complete_info()["selected"] != "-1" ? "\" : "\u\" - -" Use `[g` and `]g` to navigate diagnostics -nmap [g (coc-diagnostic-prev) -nmap ]g (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 to show documentation in preview window -nnoremap K :call show_documentation() - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - 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 -xmap 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 -xmap 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) - -" Create mappings for function text object, requires document symbols feature of languageserver. -xmap if (coc-funcobj-i) -xmap af (coc-funcobj-a) -omap if (coc-funcobj-i) -omap af (coc-funcobj-a) - -" Use for select selections ranges, needs server support, like: coc-tsserver, coc-python -nmap (coc-range-select) -xmap (coc-range-select) - -" Use `:Format` to format current buffer -command! -nargs=0 Format :call CocAction('format') - -" Use `:Fold` to fold current buffer -command! -nargs=? Fold :call CocAction('fold', ) - -" use `:OR` for organize import of current buffer -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Add status line support, for integration with other plugin, checkout `:h coc-status` -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} - -" Using CocList -" Show all diagnostics -nnoremap a :CocList diagnostics -" Manage extensions -nnoremap e :CocList extensions -" Show commands -nnoremap c :CocList commands -" Find symbol of current document -nnoremap o :CocList outline -" Search workspace symbols -nnoremap s :CocList -I symbols -" Do default action for next item. -nnoremap j :CocNext -" Do default action for previous item. -nnoremap k :CocPrev -" Resume latest coc list -nnoremap p :CocListResume diff --git a/after/ftplugin/python.vim b/after/ftplugin/python.vim index 60affea..3fbe847 100644 --- a/after/ftplugin/python.vim +++ b/after/ftplugin/python.vim @@ -1,8 +1,8 @@ -let g:ale_linters = {'python':['mypy']} +" let g:ale_linters = {'python':['mypy']} -let g:ale_python_mypy_options = '--no-warn-incomplete-stub --ignore-missing-imports' +" let g:ale_python_mypy_options = '--no-warn-incomplete-stub --ignore-missing-imports' -let g:ale_python_pycodestyle_options = '--ignore=W391' +" let g:ale_python_pycodestyle_options = '--ignore=W391' let g:neoformat_enabled_python = ['autopep8'] @@ -12,3 +12,5 @@ augroup fmt augroup END let g:jedi#completions_enabled = 0 + + diff --git a/after/ftplugin/rust.vim b/after/ftplugin/rust.vim index 373cf8c..9d5e080 100644 --- a/after/ftplugin/rust.vim +++ b/after/ftplugin/rust.vim @@ -44,136 +44,3 @@ vnoremap "gy:call search_under_cursor(getreg('g')) " call deoplete#enable() -" ============ coc.nvim =========== -" markdown rendering of code blocks -let g:markdown_fenced_languages = ['haskell'] - -" if hidden is not set, TextEdit might fail. -set hidden - -" Some servers have issues with backup files, see #649 -set nobackup -set nowritebackup - -" Better display for messages -"set cmdheight=2 - -" You will have bad experience for diagnostic messages when it's default 4000. -set updatetime=300 - -" don't give |ins-completion-menu| messages. -set shortmess+=c - -" always show signcolumns -set signcolumn=yes - -" Use tab for trigger completion with characters ahead and navigate. -" Use command ':verbose imap ' to make sure tab is not mapped by other plugin. -inoremap - \ pumvisible() ? "\" : - \ check_back_space() ? "\" : - \ coc#refresh() -inoremap pumvisible() ? "\" : "\" - -function! s:check_back_space() abort - let col = col('.') - 1 - return !col || getline('.')[col - 1] =~# '\s' -endfunction - -" Use to trigger completion. -inoremap coc#refresh() - -" Use to confirm completion, `u` means break undo chain at current position. -" Coc only does snippet and additional edit on confirm. -inoremap pumvisible() ? "\" : "\u\" -" Or use `complete_info` if your vim support it, like: -" inoremap complete_info()["selected"] != "-1" ? "\" : "\u\" - -" Use `[g` and `]g` to navigate diagnostics -nmap [g (coc-diagnostic-prev) -nmap ]g (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 to show documentation in preview window -nnoremap K :call show_documentation() - -function! s:show_documentation() - if (index(['vim','help'], &filetype) >= 0) - 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 -xmap 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 -xmap 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) - -" Create mappings for function text object, requires document symbols feature of languageserver. -xmap if (coc-funcobj-i) -xmap af (coc-funcobj-a) -omap if (coc-funcobj-i) -omap af (coc-funcobj-a) - -" Use for select selections ranges, needs server support, like: coc-tsserver, coc-python -nmap (coc-range-select) -xmap (coc-range-select) - -" Use `:Format` to format current buffer -command! -nargs=0 Format :call CocAction('format') - -" Use `:Fold` to fold current buffer -command! -nargs=? Fold :call CocAction('fold', ) - -" use `:OR` for organize import of current buffer -command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') - -" Add status line support, for integration with other plugin, checkout `:h coc-status` -set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} - -" Using CocList -" Show all diagnostics -nnoremap a :CocList diagnostics -" Manage extensions -nnoremap e :CocList extensions -" Show commands -nnoremap c :CocList commands -" Find symbol of current document -nnoremap o :CocList outline -" Search workspace symbols -nnoremap s :CocList -I symbols -" Do default action for next item. -nnoremap j :CocNext -" Do default action for previous item. -nnoremap k :CocPrev -" Resume latest coc list -nnoremap p :CocListResume - diff --git a/after/ftplugin/sh.vim b/after/ftplugin/sh.vim new file mode 100644 index 0000000..be5fe16 --- /dev/null +++ b/after/ftplugin/sh.vim @@ -0,0 +1,8 @@ +if (expand("%:e") == "exheres-0") + finish +endif + +if (expand("%:e") == "exlib") + finish +endif + diff --git a/after/plugin/plugin_settings.vim b/after/plugin/plugin_settings.vim new file mode 100644 index 0000000..ed6bc7d --- /dev/null +++ b/after/plugin/plugin_settings.vim @@ -0,0 +1,255 @@ +function! ConfigureCocNVIM() +" ============ coc.nvim =========== + " if hidden is not set, TextEdit might fail. + set hidden + + " Some servers have issues with backup files, see #649 + set nobackup + set nowritebackup + + " Better display for messages + "set cmdheight=2 + + " You will have bad experience for diagnostic messages when it's default 4000. + set updatetime=300 + + " don't give |ins-completion-menu| messages. + set shortmess+=c + + " always show signcolumns + set signcolumn=yes + + " Use tab for trigger completion with characters ahead and navigate. + " Use command ':verbose imap ' to make sure tab is not mapped by other plugin. + inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() + inoremap pumvisible() ? "\" : "\" + + function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~# '\s' + endfunction + + " Use to trigger completion. + inoremap coc#refresh() + + " Use to confirm completion, `u` means break undo chain at current position. + " Coc only does snippet and additional edit on confirm. + inoremap pumvisible() ? "\" : "\u\" + " Or use `complete_info` if your vim support it, like: + " inoremap complete_info()["selected"] != "-1" ? "\" : "\u\" + + " Use `[g` and `]g` to navigate diagnostics + nmap [g (coc-diagnostic-prev) + nmap ]g (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 to show documentation in preview window + nnoremap K :call show_documentation() + + function! s:show_documentation() + if (index(['vim','help'], &filetype) >= 0) + 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 + xmap 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 + xmap 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) + + " Create mappings for function text object, requires document symbols feature of languageserver. + xmap if (coc-funcobj-i) + xmap af (coc-funcobj-a) + omap if (coc-funcobj-i) + omap af (coc-funcobj-a) + + " Use for select selections ranges, needs server support, like: coc-tsserver, coc-python + "nmap (coc-range-select) + "xmap (coc-range-select) + + " Use `:Format` to format current buffer + command! -nargs=0 Format :call CocAction('format') + + " Use `:Fold` to fold current buffer + command! -nargs=? Fold :call CocAction('fold', ) + + " use `:OR` for organize import of current buffer + command! -nargs=0 OR :call CocAction('runCommand', 'editor.action.organizeImport') + + " Add status line support, for integration with other plugin, checkout `:h coc-status` + set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} + + " Using CocList + " Show all diagnostics + nnoremap a :CocList diagnostics + " Manage extensions + nnoremap e :CocList extensions + " Show commands + nnoremap c :CocList commands + " Find symbol of current document + nnoremap o :CocList outline + " Search workspace symbols + nnoremap s :CocList -I symbols + " Do default action for next item. + nnoremap j :CocNext + " Do default action for previous item. + nnoremap k :CocPrev + " Resume latest coc list + nnoremap p :CocListResume +endfunction + +autocmd! User coc.nvim call ConfigureCocNVIM() + +if !has("nvim") + " lj + let g:LustyJugglerSuppressRubyWarning = 1 +endif + +" neosnippet +" Plugin key-mappings. +" Note: It must be "imap" and "smap". It uses mappings. +imap (neosnippet_expand_or_jump) +smap (neosnippet_expand_or_jump) +xmap (neosnippet_expand_target) + +" SuperTab like snippets behavior. +" Note: It must be "imap" and "smap". It uses mappings. +imap neosnippet#expandable_or_jumpable() ? "\(neosnippet_expand_or_jump)" : pumvisible() ? "\" : "\" +smap neosnippet#expandable_or_jumpable() ? "\(neosnippet_expand_or_jump)" : "\" + +" For conceal markers. +if has('conceal') + set conceallevel=2 concealcursor=niv +endif +" Enable snipMate compatibility feature. +let g:neosnippet#enable_snipmate_compatibility = 1 +let g:neosnippet#snippets_directory='~/.vim/custom-snippets' + + +" rainbow +let g:rainbow_conf = { +\ 'guifgs': ['#DC322F', 'royalblue3', 'darkorange3', 'seagreen3'], +\ 'ctermfgs': ['lightred', 'lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'], +\} +let g:rainbow_active = 1 + + +" vim airline +" let g:airline#extensions#tabline#enabled = 1 + + +" LSP +let g:LanguageClient_autoStart = 0 + +" deoplete +let g:deoplete#enable_at_startup = 1 + +" ==== delimitMate ==== +let g:delimitMate_matchpairs = "(:),[:],{:}" +let g:delimitMate_expand_cr = 1 +let g:delimitMate_expand_space = 1 +let g:delimitMate_autoclose = 1 + + +" Solarized stuff +" let g:solarized_termtrans=0 +" let g:solarized_degrade=0 +" let g:solarized_bold=1 +" let g:solarized_underline=1 +" let g:solarized_italic=1 +" let g:solarized_termcolors=16 +" let g:solarized_contrast="normal" +let g:solarized_visibility="high" +" let g:solarized_diffmode="normal" +" let g:solarized_hitrail=0 +let g:solarized_menu=1 + + +" youcompleteme +let g:ycm_filetype_blacklist = { + \ 'notes' : 1, + \ 'markdown' : 1, + \ 'text' : 1, + \ 'java' : 1, + \} +let g:ycm_confirm_extra_conf = 0 +let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py' +let g:ycm_collect_identifiers_from_tags_files = 1 +let g:ycm_seed_identifiers_with_syntax = 0 +" let g:ycm_always_populate_location_list = 1 +let g:ycm_autoclose_preview_window_after_completion = 1 +let g:ycm_key_invoke_completion = '' +let g:ycm_key_list_select_completion = [''] +let g:ycm_key_list_previous_completion = [''] +" nnoremap :YcmCompleter GoToDefinition +let g:ycm_server_log_level = 'error' +let g:ycm_semantic_triggers = {'haskell' : ['. ', '$ ']} +let g:ycm_goto_buffer_command = 'horizontal-split' + + +" commenting +let NERDSpaceDelims=1 +let NERDCreateDefaultMappings=0 + +" haskellmode, needs to load early +let g:haddock_browser='/usr/bin/firefox' +let g:haddock_browser_callformat='%s file://%s >/dev/null 2>&1 &' + +" ctrlp +let g:ctrlp_user_command = 'fd --type f --color=never "" %s' +let g:ctrlp_use_caching = 1 +let g:ctrlp_match_func = { 'match': 'cpsm#CtrlPMatch' } + +" fzf +" --column: Show column number +" --line-number: Show line number +" --no-heading: Do not show file headings in results +" --fixed-strings: Search term as a literal string +" --ignore-case: Case insensitive search +" --no-ignore: Do not respect .gitignore, etc... +" --hidden: Search hidden files and folders +" --follow: Follow symlinks +" --glob: Additional conditions for search (in this case ignore everything in the .git/ folder) +" --color: Search color options +command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(), 1, 0) + +function! WithGitRoot() + let groot = systemlist('git -C ' . expand('%:p:h') . ' rev-parse --show-toplevel')[0] + return v:shell_error ? {} : {'dir': groot} +endfunction + +command! -nargs=* Rag + \ call fzf#vim#ag(, WithGitRoot()) + diff --git a/coc-settings.json b/coc-settings.json index 0a24121..22b60d3 100644 --- a/coc-settings.json +++ b/coc-settings.json @@ -21,6 +21,22 @@ "hlintOn": false } } + }, + "bash": { + "trace.server": "verbose", + "command": "bash-language-server", + "args": ["start"], + "filetypes": ["sh"], + "ignoredRootPaths": ["~"] + }, + // install: https://github.com/mattn/efm-langserver + // and: https://github.com/Kuniwak/vint + "efm": { + "command": "efm-langserver", + "args": [], + // custom config path + //"args": ["-c", "/home/jule/.config/efm-langserver/config.yaml"], + "filetypes": ["vim"] } }, "coc.preferences.hoverTarget": "float", diff --git a/vimrc b/vimrc index 899dde9..d10c9c1 100644 --- a/vimrc +++ b/vimrc @@ -54,7 +54,7 @@ Plug 'LucHermitte/local_vimrc' " completion Plug 'Valloric/YouCompleteMe', { 'do': './install.py --clang-completer --go-completer --rust-completer --system-boost --system-libclang', - \ 'for': ['c', 'python', 'sh', 'go', 'clojure'], + \ 'for': ['c', 'go', 'clojure'], \ } " deoplete for haskell if has('nvim') @@ -78,23 +78,24 @@ Plug 'honza/vim-snippets' " \ } " Use release branch (Recommend) -Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile', 'for': ['haskell', 'rust']} -Plug 'neoclide/coc-tsserver', {'do': 'yarn install --frozen-lockfile', 'for': ['haskell']} +Plug 'neoclide/coc.nvim', {'do': 'yarn install --frozen-lockfile', 'for': ['haskell', 'rust', 'sh', 'python', 'vim']} +Plug 'neoclide/coc-tsserver', {'do': 'yarn install --frozen-lockfile', 'for': ['typescript']} "Plug 'neoclide/coc-git', {'do': 'yarn install --frozen-lockfile'} " Plug 'neoclide/coc-rls', {'do': 'yarn install --frozen-lockfile', 'for': ['rust']} Plug 'fannheyward/coc-rust-analyzer', {'do': 'yarn install --frozen-lockfile', 'for': ['rust']} -Plug 'neoclide/coc-prettier', {'do': 'yarn install --frozen-lockfile', 'for': ['haskell']} -Plug 'neoclide/coc-python', {'do': 'yarn install --frozen-lockfile', 'for': ['']} +Plug 'neoclide/coc-prettier', {'do': 'yarn install --frozen-lockfile', 'for': ['haskell', 'rust', 'sh']} +Plug 'neoclide/coc-python', {'do': 'yarn install --frozen-lockfile', 'for': ['python']} "Plug 'neoclide/coc-vetur', {'do': 'yarn install --frozen-lockfile', 'for': ['haskell']} -Plug 'neoclide/coc-json', {'do': 'yarn install --frozen-lockfile', 'for': ['']} -Plug 'neoclide/coc-eslint', {'do': 'yarn install --frozen-lockfile', 'for': ['']} -Plug 'neoclide/coc-yaml', {'do': 'yarn install --frozen-lockfile', 'for': ['']} -Plug 'neoclide/coc-highlight', {'do': 'yarn install --frozen-lockfile', 'for': ['']} +Plug 'neoclide/coc-json', {'do': 'yarn install --frozen-lockfile', 'for': ['json']} +" Plug 'neoclide/coc-eslint', {'do': 'yarn install --frozen-lockfile', 'for': ['']} +Plug 'neoclide/coc-yaml', {'do': 'yarn install --frozen-lockfile', 'for': ['yaml']} +" Plug 'neoclide/coc-highlight', {'do': 'yarn install --frozen-lockfile', 'for': ['']} " linting/compilation -Plug 'w0rp/ale', { - \ 'do': 'bash -c \"cp -R ~/.vim/ale_linters .\"', - \ } +" Plug 'w0rp/ale', { + " \ 'do': 'bash -c \"cp -R ~/.vim/ale_linters .\"', + " \ 'for': 'haskell', + " \ } " haskell " if has("nvim") @@ -134,7 +135,7 @@ Plug 'venantius/vim-cljfmt', {'for': 'clojure'} " go -Plug 'garyburd/go-explorer', { 'for': 'go' } +" Plug 'garyburd/go-explorer', { 'for': 'go' } Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries', 'for': 'go' } " rust @@ -142,13 +143,13 @@ Plug 'fatih/vim-go', { 'do': ':GoInstallBinaries', 'for': 'go' } Plug 'rust-lang/rust.vim', { 'for': 'rust' } " javascript -Plug 'moll/vim-node', { 'for': 'javascript' } +" Plug 'moll/vim-node', { 'for': 'javascript' } Plug 'pangloss/vim-javascript', { 'for': 'javascript' } " python Plug 'icedwater/vimpython', { 'for': 'python' } -Plug 'zchee/deoplete-jedi', { 'for': 'python' } -Plug 'davidhalter/jedi-vim', { 'for': 'python' } +" Plug 'zchee/deoplete-jedi', { 'for': 'python' } +" Plug 'davidhalter/jedi-vim', { 'for': 'python' } Plug 'manicmaniac/coconut.vim' Plug 'alfredodeza/pytest.vim' Plug 'idanarye/vim-vebugger', { 'for': 'python' } @@ -161,22 +162,22 @@ Plug 'leafgarland/typescript-vim', { 'for': 'typescript' } Plug 'Quramy/tsuquyomi', { 'for': 'typescript' } " color and beauty -Plug 'tomasiser/vim-code-dark' -Plug 'romainl/Apprentice' -Plug 'chriskempson/base16-vim' -Plug 'fneu/breezy' -Plug 'romainl/Disciple' -Plug 'wimstefan/Lightning' -Plug 'NLKNguyen/papercolor-theme' -Plug 'flazz/vim-colorschemes' +" Plug 'tomasiser/vim-code-dark' +" Plug 'romainl/Apprentice' +" Plug 'chriskempson/base16-vim' +" Plug 'fneu/breezy' +" Plug 'romainl/Disciple' +" Plug 'wimstefan/Lightning' +" Plug 'NLKNguyen/papercolor-theme' +" Plug 'flazz/vim-colorschemes' Plug 'altercation/vim-colors-solarized' -Plug 'reedes/vim-colors-pencil' -Plug 'whatyouhide/vim-gotham' +" Plug 'reedes/vim-colors-pencil' +" Plug 'whatyouhide/vim-gotham' if has("nvim") Plug 'iCyMind/NeoSolarized' endif -Plug 'noahfrederick/vim-hemisu' -Plug 'morhetz/gruvbox' +" Plug 'noahfrederick/vim-hemisu' +" Plug 'morhetz/gruvbox' " unmanaged Plug '~/.vim/unmanaged-vim-plug/bufonly' @@ -198,133 +199,10 @@ call plug#end() " ===== further plugin initialization and default config ===== so ~/.vim/plugged/cmdalias.vim/plugin/cmdalias.vim - -if !has("nvim") - " lj - let g:LustyJugglerSuppressRubyWarning = 1 -endif - " lustyexplorer set hidden -" neosnippet -" Plugin key-mappings. -" Note: It must be "imap" and "smap". It uses mappings. -imap (neosnippet_expand_or_jump) -smap (neosnippet_expand_or_jump) -xmap (neosnippet_expand_target) - -" SuperTab like snippets behavior. -" Note: It must be "imap" and "smap". It uses mappings. -imap neosnippet#expandable_or_jumpable() ? "\(neosnippet_expand_or_jump)" : pumvisible() ? "\" : "\" -smap neosnippet#expandable_or_jumpable() ? "\(neosnippet_expand_or_jump)" : "\" - -" For conceal markers. -if has('conceal') - set conceallevel=2 concealcursor=niv -endif -" Enable snipMate compatibility feature. -let g:neosnippet#enable_snipmate_compatibility = 1 -let g:neosnippet#snippets_directory='~/.vim/custom-snippets' - - -" rainbow -let g:rainbow_conf = { -\ 'guifgs': ['#DC322F', 'royalblue3', 'darkorange3', 'seagreen3'], -\ 'ctermfgs': ['lightred', 'lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'], -\} -let g:rainbow_active = 1 - - -" vim airline -" let g:airline#extensions#tabline#enabled = 1 - - -" LSP -let g:LanguageClient_autoStart = 0 - -" deoplete -let g:deoplete#enable_at_startup = 1 - -" ==== delimitMate ==== -let g:delimitMate_matchpairs = "(:),[:],{:}" -let g:delimitMate_expand_cr = 1 -let g:delimitMate_expand_space = 1 -let g:delimitMate_autoclose = 1 - - -" Solarized stuff -" let g:solarized_termtrans=0 -" let g:solarized_degrade=0 -" let g:solarized_bold=1 -" let g:solarized_underline=1 -" let g:solarized_italic=1 -" let g:solarized_termcolors=16 -" let g:solarized_contrast="normal" -let g:solarized_visibility="high" -" let g:solarized_diffmode="normal" -" let g:solarized_hitrail=0 -let g:solarized_menu=1 - - -" youcompleteme -let g:ycm_filetype_blacklist = { - \ 'notes' : 1, - \ 'markdown' : 1, - \ 'text' : 1, - \ 'java' : 1, - \} -let g:ycm_confirm_extra_conf = 0 -let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py' -let g:ycm_collect_identifiers_from_tags_files = 1 -let g:ycm_seed_identifiers_with_syntax = 0 -" let g:ycm_always_populate_location_list = 1 -let g:ycm_autoclose_preview_window_after_completion = 1 -let g:ycm_key_invoke_completion = '' -let g:ycm_key_list_select_completion = [''] -let g:ycm_key_list_previous_completion = [''] -" nnoremap :YcmCompleter GoToDefinition -let g:ycm_server_log_level = 'error' -let g:ycm_semantic_triggers = {'haskell' : ['. ', '$ ']} -let g:ycm_goto_buffer_command = 'horizontal-split' - - -" commenting -let NERDSpaceDelims=1 -let NERDCreateDefaultMappings=0 - -" haskellmode, needs to load early -let g:haddock_browser='/usr/bin/firefox' -let g:haddock_browser_callformat='%s file://%s >/dev/null 2>&1 &' - -" ctrlp -let g:ctrlp_user_command = 'fd --type f --color=never "" %s' -let g:ctrlp_use_caching = 1 -let g:ctrlp_match_func = { 'match': 'cpsm#CtrlPMatch' } - -" fzf -" --column: Show column number -" --line-number: Show line number -" --no-heading: Do not show file headings in results -" --fixed-strings: Search term as a literal string -" --ignore-case: Case insensitive search -" --no-ignore: Do not respect .gitignore, etc... -" --hidden: Search hidden files and folders -" --follow: Follow symlinks -" --glob: Additional conditions for search (in this case ignore everything in the .git/ folder) -" --color: Search color options -command! -bang -nargs=* Find call fzf#vim#grep('rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --glob "!.git/*" --color "always" '.shellescape(), 1, 0) - -function! WithGitRoot() - let groot = systemlist('git -C ' . expand('%:p:h') . ' rev-parse --show-toplevel')[0] - return v:shell_error ? {} : {'dir': groot} -endfunction - -command! -nargs=* Rag - \ call fzf#vim#ag(, WithGitRoot()) - - " ==== conque ==== " command aliases call CmdAlias('t','tabnew') @@ -378,6 +256,7 @@ try catch endtry + " ==========colors=========== "set t_Co=256 "let g:solarized_termcolors=256 @@ -414,9 +293,6 @@ endif " =========================== - - - " Disable annoying auto line break fu! DisableBr() set wrap