From 30b543b53f5e8c14d5e258f6c7c2e52aa0a17f32 Mon Sep 17 00:00:00 2001 From: chang <15527854695@163.com> Date: Thu, 17 Mar 2022 18:51:46 +0800 Subject: [PATCH] add plugins.txt config coc-setting-template --- coc-settings.json | 36 +++++++++ my_configs.vim | 191 ++++++++++++++++++++++++++++++++++++++++++++++ plugins.txt | 7 ++ 3 files changed, 234 insertions(+) create mode 100644 coc-settings.json create mode 100644 my_configs.vim create mode 100644 plugins.txt diff --git a/coc-settings.json b/coc-settings.json new file mode 100644 index 00000000..e846ca2f --- /dev/null +++ b/coc-settings.json @@ -0,0 +1,36 @@ +{ + "languageserver": { + "intelephense": { + "command": "intelephense", + "args": [ + "--stdio" + ], + "filetypes": [ + "php" + ], + "initializationOptions": { + "storagePath": "/tmp/intelephense" + } + }, + "golang": { + "command": "gopls", + "rootPatterns": [ + "go.mod" + ], + "filetypes": [ + "go" + ] + } + }, + "json.format.enable": true, + "coc.preferences.formatOnSaveFiletypes": [ + "json", + "go", + "php", + "ts", + "js", + "html", + "css" + ], + "go.goplsPath": "/root/.go/bin/gopls" +} diff --git a/my_configs.vim b/my_configs.vim new file mode 100644 index 00000000..e888cc3e --- /dev/null +++ b/my_configs.vim @@ -0,0 +1,191 @@ +syntax enable +set t_Co=256 " This is may or may not needed. +set background=light" +colorscheme PaperColor +" colorscheme dracula +" colorscheme ir_black +" colorscheme mayansmoke + +" set number +" set relativenumber +set cursorline "突出显示当前行 +" set cursorcolumn " 突出显示当前列 +set showmatch " 显示括号匹配 + +" tab 缩进 +set tabstop=4 " 设置Tab长度为4空格 +set shiftwidth=4 " 设置自动缩进长度为4空格 +set autoindent " 继承前一行的缩进方式,适用于多行注释 + +" 开启实时搜索 +set incsearch +" 搜索时大小写不敏感 +set ignorecase +syntax on " 开启文件类型侦测 +filetype plugin indent on " 启用自动补全 + +" 退出插入模式指定类型的文件自动保存 +" au InsertLeave *.go,*.sh,*.php,*.vim write + +""" Configuration example +" Echo translation in the cmdline +nmap t Translate +vmap t TranslateV +" Display translation in a window +nmap w TranslateW +vmap w TranslateWV +" Replace the text with translation +" nmap r TranslateR +" vmap r TranslateRV +" Translate the text in clipboard +" nmap x TranslateX +let g:translator_default_engines=['youdao',"bing"] +let g:translator_history_enable=1 + + +" Trigger a highlight in the appropriate direction when pressing these keys: +let g:qs_highlight_on_keys = ['f', 'F', 't', 'T'] +" +" " Trigger a highlight only when pressing f and F. +let g:qs_highlight_on_keys = ['f', 'F']" + +" default updatetime 4000ms is not good for async update +set updatetime=100 + +set encoding=utf-8 +" TextEdit might fail if hidden is not set. +set hidden +" Some servers have issues with backup files, see #649. +set nobackup +set nowritebackup +" Give more space for displaying messages. +set cmdheight=2 +" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable +" delays and poor user experience. +set updatetime=300 +" Don't pass messages to |ins-completion-menu|. +set shortmess+=c +" Always show the signcolumn, otherwise it would shift the text each time +" diagnostics appear/become resolved. +if has("nvim-0.5.0") || has("patch-8.1.1564") + " Recently vim can merge signcolumn and number column into one + set signcolumn=number +else + set signcolumn=yes +endif +" Use tab for trigger completion with characters ahead and navigate. +" NOTE: Use command ':verbose imap ' to make sure tab is not mapped by +" other plugin before putting this into your config. +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. +if has('nvim') + inoremap coc#refresh() +else + inoremap coc#refresh() +endif +" Make auto-select the first completion item and notify coc.nvim to +" format on enter, could be remapped by other vim plugin +inoremap pumvisible() ? coc#_select_confirm() + \: "\u\\=coc#on_enter()\" +" Use `[g` and `]g` to navigate diagnostics +" Use `:CocDiagnostics` to get all diagnostics of current buffer in location list. +nmap [g (coc-diagnostic-prev) +nmap ]g (coc-diagnostic-next) +" GoTo code navigation. +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('') + elseif (coc#rpc#ready()) + call CocActionAsync('doHover') + else + execute '!' . &keywordprg . " " . expand('') + endif +endfunction +" Highlight the symbol and its references when holding the cursor. +autocmd CursorHold * silent call CocActionAsync('highlight') +" Symbol renaming. +nmap rn (coc-rename) +" Formatting selected code. +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 +" Applying codeAction to the selected region. +" Example: `aap` for current paragraph +xmap a (coc-codeaction-selected) +nmap a (coc-codeaction-selected) +" Remap keys for applying codeAction to the current buffer. +nmap ac (coc-codeaction) +" Apply AutoFix to problem on the current line. +nmap qf (coc-fix-current) +" Run the Code Lens action on the current line. +nmap cl (coc-codelens-action) +" Map function and class text objects +" NOTE: Requires 'textDocument.documentSymbol' support from the language server. +xmap if (coc-funcobj-i) +omap if (coc-funcobj-i) +xmap af (coc-funcobj-a) +omap af (coc-funcobj-a) +xmap ic (coc-classobj-i) +omap ic (coc-classobj-i) +xmap ac (coc-classobj-a) +omap ac (coc-classobj-a) +" Remap and for scroll float windows/popups. +if has('nvim-0.4.0') || has('patch-8.2.0750') + nnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" + nnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" + inoremap coc#float#has_scroll() ? "\=coc#float#scroll(1)\" : "\" + inoremap coc#float#has_scroll() ? "\=coc#float#scroll(0)\" : "\" + vnoremap coc#float#has_scroll() ? coc#float#scroll(1) : "\" + vnoremap coc#float#has_scroll() ? coc#float#scroll(0) : "\" +endif +" Use CTRL-S for selections ranges. +" Requires 'textDocument/selectionRange' support of language server. +nmap (coc-range-select) +xmap (coc-range-select) +" Add `:Format` command to format current buffer. +command! -nargs=0 Format :call CocActionAsync('format') +" Add `:Fold` command to fold current buffer. +command! -nargs=? Fold :call CocAction('fold', ) +" Add `:OR` command for organize imports of the current buffer. +command! -nargs=0 OR :call CocActionAsync('runCommand', 'editor.action.organizeImport') +" Add (Neo)Vim's native statusline support. +" NOTE: Please see `:h coc-status` for integrations with external plugins that +" provide custom statusline: lightline.vim, vim-airline. +set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} +" Mappings for 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/plugins.txt b/plugins.txt new file mode 100644 index 00000000..0ad8429c --- /dev/null +++ b/plugins.txt @@ -0,0 +1,7 @@ +coc.nvim +papercolor-theme +quick-scope +vim-signify +vim-skip +vim-startify +vim-translator