diff --git a/init.lua b/init.lua index e2fa618..5c1aa91 100644 --- a/init.lua +++ b/init.lua @@ -44,10 +44,3 @@ else end require('normal.normal') - --- require('Plugin.coc') - --- require('Plugin.Imchange') --- require('Plugin.lualine') --- require('Plugin.Imchange') --- require('Plugin.NERDTree') diff --git a/lua/G.lua b/lua/G.lua index b6f3297..7dee0b5 100644 --- a/lua/G.lua +++ b/lua/G.lua @@ -18,15 +18,6 @@ function G.map(maps) end end -function G.hi(hls) - for group,color in pairs(hls) do - local fg = color.fg and ' ctermfg=' .. color.fg or ' ctermfg=NONE' - local bg = color.bg and ' ctermbg=' .. color.bg or ' ctermbg=NONE' - local sp = color.sp and ' cterm=' .. color.sp or '' - G.api.nvim_command('highlight ' .. group .. fg .. bg .. sp) - end -end - function G.cmd(cmd) G.api.nvim_command(cmd) end @@ -39,8 +30,8 @@ function G.eval(c) return G.api.nvim_eval(c) end -function G.au(c) - return G.api.nvim_create_autocmd(c) +function G.au(even, opts) + return G.api.nvim_create_autocmd(even, opts) end G.g.mapleader = ' ' diff --git a/lua/neovim/plugsettings/coc.lua b/lua/neovim/plugsettings/coc.lua index 1794724..2c027de 100644 --- a/lua/neovim/plugsettings/coc.lua +++ b/lua/neovim/plugsettings/coc.lua @@ -40,30 +40,30 @@ return { { "n", "gr", "(coc-references)", {silent = true} }, { "n", "rn", "(coc-rename)", {silent = true} }, - { "x", "", "(coc-format-selected)", {silent = true} }, - { "n", "", "(coc-format-selected)", {silent = true} }, + { "v", "", "(coc-format-selected)", {silent = true} }, + -- { "n", "", "(coc-format-selected)", {silent = true} }, }) - local keyset = vim.keymap.set + -- local keyset = vim.keymap.set function _G.check_back_space() local col = G.fn.col('.') - 1 - return col == 0 or vim.fn.getline('.'):sub(col, col):match('%s') ~= nil + return col == 0 or G.fn.getline('.'):sub(col, col):match('%s') ~= nil end - keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) - keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) + -- keyset("n", "[g", "(coc-diagnostic-prev)", {silent = true}) + -- keyset("n", "]g", "(coc-diagnostic-next)", {silent = true}) - vim.api.nvim_create_augroup("CocGroup", {}) - vim.api.nvim_create_autocmd("CursorHold", { + G.api.nvim_create_augroup("CocGroup", {}) + G.au("CursorHold", { group = "CocGroup", command = "silent call CocActionAsync('highlight')", desc = "Highlight symbol under cursor on CursorHold" }) - vim.api.nvim_create_autocmd("FileType", { + G.au("FileType", { group = "CocGroup", pattern = "typescript,json", command = "setl formatexpr=CocAction('formatSelected')", @@ -71,7 +71,7 @@ return { }) -- Update signature help on jump placeholder - vim.api.nvim_create_autocmd("User", { + G.au("User", { group = "CocGroup", pattern = "CocJumpPlaceholder", command = "call CocActionAsync('showSignatureHelp')", @@ -80,92 +80,92 @@ return { -- Apply codeAction to the selected region -- Example: `aap` for current paragraph - local opts = {silent = true, nowait = true} - keyset("x", "a", "(coc-codeaction-selected)", opts) - keyset("n", "a", "(coc-codeaction-selected)", opts) + --local opts = {silent = true, nowait = true} + --keyset("x", "a", "(coc-codeaction-selected)", opts) + --keyset("n", "a", "(coc-codeaction-selected)", opts) - -- Remap keys for apply code actions at the cursor position. - keyset("n", "ac", "(coc-codeaction-cursor)", opts) - -- Remap keys for apply source code actions for current file. - keyset("n", "as", "(coc-codeaction-source)", opts) - -- Apply the most preferred quickfix action on the current line. - keyset("n", "qf", "(coc-fix-current)", opts) + ---- Remap keys for apply code actions at the cursor position. + --keyset("n", "ac", "(coc-codeaction-cursor)", opts) + ---- Remap keys for apply source code actions for current file. + --keyset("n", "as", "(coc-codeaction-source)", opts) + ---- Apply the most preferred quickfix action on the current line. + --keyset("n", "qf", "(coc-fix-current)", opts) - -- Remap keys for apply refactor code actions. - keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) - keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) - keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) + ---- Remap keys for apply refactor code actions. + --keyset("n", "re", "(coc-codeaction-refactor)", { silent = true }) + --keyset("x", "r", "(coc-codeaction-refactor-selected)", { silent = true }) + --keyset("n", "r", "(coc-codeaction-refactor-selected)", { silent = true }) - -- Run the Code Lens actions on the current line - keyset("n", "cl", "(coc-codelens-action)", opts) + ---- Run the Code Lens actions on the current line + --keyset("n", "cl", "(coc-codelens-action)", opts) - -- Map function and class text objects - -- NOTE: Requires 'textDocument.documentSymbol' support from the language server - keyset("x", "if", "(coc-funcobj-i)", opts) - keyset("o", "if", "(coc-funcobj-i)", opts) - keyset("x", "af", "(coc-funcobj-a)", opts) - keyset("o", "af", "(coc-funcobj-a)", opts) - keyset("x", "ic", "(coc-classobj-i)", opts) - keyset("o", "ic", "(coc-classobj-i)", opts) - keyset("x", "ac", "(coc-classobj-a)", opts) - keyset("o", "ac", "(coc-classobj-a)", opts) + ---- Map function and class text objects + ---- NOTE: Requires 'textDocument.documentSymbol' support from the language server + --keyset("x", "if", "(coc-funcobj-i)", opts) + --keyset("o", "if", "(coc-funcobj-i)", opts) + --keyset("x", "af", "(coc-funcobj-a)", opts) + --keyset("o", "af", "(coc-funcobj-a)", opts) + --keyset("x", "ic", "(coc-classobj-i)", opts) + --keyset("o", "ic", "(coc-classobj-i)", opts) + --keyset("x", "ac", "(coc-classobj-a)", opts) + --keyset("o", "ac", "(coc-classobj-a)", opts) - -- Remap and to scroll float windows/popups - ---@diagnostic disable-next-line: redefined-local - local opts = {silent = true, nowait = true, expr = true} - keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) - keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) - keyset("i", "", - 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) - keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) - keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) + ---- Remap and to scroll float windows/popups + -----@diagnostic disable-next-line: redefined-local + --local opts = {silent = true, nowait = true, expr = true} + --keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) + --keyset("n", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) + --keyset("i", "", + -- 'coc#float#has_scroll() ? "=coc#float#scroll(1)" : ""', opts) + --keyset("i", "", + -- 'coc#float#has_scroll() ? "=coc#float#scroll(0)" : ""', opts) + --keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(1) : ""', opts) + --keyset("v", "", 'coc#float#has_scroll() ? coc#float#scroll(0) : ""', opts) - -- Use CTRL-S for selections ranges - -- Requires 'textDocument/selectionRange' support of language server - keyset("n", "", "(coc-range-select)", {silent = true}) - keyset("x", "", "(coc-range-select)", {silent = true}) + ---- Use CTRL-S for selections ranges + ---- Requires 'textDocument/selectionRange' support of language server + --keyset("n", "", "(coc-range-select)", {silent = true}) + --keyset("x", "", "(coc-range-select)", {silent = true}) - -- Add `:Format` command to format current buffer - vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) + ---- Add `:Format` command to format current buffer + --vim.api.nvim_create_user_command("Format", "call CocAction('format')", {}) - -- " Add `:Fold` command to fold current buffer - vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) + ---- " Add `:Fold` command to fold current buffer + --vim.api.nvim_create_user_command("Fold", "call CocAction('fold', )", {nargs = '?'}) - -- Add `:OR` command for organize imports of the current buffer - vim.api.nvim_create_user_command("OR", "call CocActionAsync('runCommand', 'editor.action.organizeImport')", {}) + ---- Add `:OR` command for organize imports of the current buffer + --vim.api.nvim_create_user_command("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 - vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") + ---- 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 + --vim.opt.statusline:prepend("%{coc#status()}%{get(b:,'coc_current_function','')}") - -- Mappings for CoCList - -- code actions and coc stuff - ---@diagnostic disable-next-line: redefined-local - local opts = {silent = true, nowait = true} - -- Show all diagnostics - keyset("n", "a", ":CocList diagnostics", opts) - -- Manage extensions - keyset("n", "e", ":CocList extensions", opts) - -- Show commands - keyset("n", "c", ":CocList commands", opts) - -- Find symbol of current document - keyset("n", "o", ":CocList outline", opts) - -- Search workspace symbols - keyset("n", "s", ":CocList -I symbols", opts) - -- Do default action for next item - keyset("n", "j", ":CocNext", opts) - -- Do default action for previous item - keyset("n", "k", ":CocPrev", opts) - -- Resume latest coc list - keyset("n", "p", ":CocListResume", opts) + ---- Mappings for CoCList + ---- code actions and coc stuff + -----@diagnostic disable-next-line: redefined-local + --local opts = {silent = true, nowait = true} + ---- Show all diagnostics + --keyset("n", "a", ":CocList diagnostics", opts) + ---- Manage extensions + --keyset("n", "e", ":CocList extensions", opts) + ---- Show commands + --keyset("n", "c", ":CocList commands", opts) + ---- Find symbol of current document + --keyset("n", "o", ":CocList outline", opts) + ---- Search workspace symbols + --keyset("n", "s", ":CocList -I symbols", opts) + ---- Do default action for next item + --keyset("n", "j", ":CocNext", opts) + ---- Do default action for previous item + --keyset("n", "k", ":CocPrev", opts) + ---- Resume latest coc list + --keyset("n", "p", ":CocListResume", opts) end, }, } diff --git a/lua/normal/options.lua b/lua/normal/options.lua index dfb0106..f255d8c 100644 --- a/lua/normal/options.lua +++ b/lua/normal/options.lua @@ -39,7 +39,7 @@ G.opt.wrap = false G.cmd("filetype plugin indent on") -- 取消换行注释 -G.api.nvim_create_autocmd({ "BufEnter" }, { +G.au({ "BufEnter" }, { pattern = { "*" }, callback = function() -- vim.opt.formatoptions = vim.opt.formatoptions - { "c", "r", "o" } @@ -49,6 +49,13 @@ G.api.nvim_create_autocmd({ "BufEnter" }, { end, }) +G.au({ "InsertEnter" }, { + pattern = { "*" }, + callback = function() + G.opt.hlsearch = false + end, +}) + -- G.au({ -- {"CmdlineEnter"}, -- { diff --git a/lua/normal/plugsettings/edit-plugs.lua b/lua/normal/plugsettings/edit-plugs.lua index 298a768..7b6c3bf 100644 --- a/lua/normal/plugsettings/edit-plugs.lua +++ b/lua/normal/plugsettings/edit-plugs.lua @@ -8,6 +8,7 @@ return { --格式整理 { 'junegunn/vim-easy-align', + lazy = true, cmd = "EasyAlign", config = function () G.map({