From 2e183e81e303b330d0ad1883e4873a07e359fc26 Mon Sep 17 00:00:00 2001 From: veypi Date: Wed, 27 Apr 2022 22:57:58 +0800 Subject: [PATCH] =?UTF-8?q?python=20=E8=87=AA=E5=8A=A8=E8=A1=A5=E5=85=A8?= =?UTF-8?q?=EF=BC=8C=20=E8=87=AA=E5=8A=A8=E5=88=87=E6=8D=A2=E8=BE=93?= =?UTF-8?q?=E5=85=A5=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- init.vim | 5 ++++- lua/lsp/efm.lua | 15 +++++++++++++++ lua/lsp/setup.lua | 6 +++++- lua/plugins.lua | 6 +++++- lua/utils/setup.lua | 1 + maps.vim | 44 ++++++++++++++++++++++++++++++++++---------- plug.vim | 6 ++++++ 7 files changed, 70 insertions(+), 13 deletions(-) create mode 100644 lua/lsp/efm.lua create mode 100644 plug.vim diff --git a/init.vim b/init.vim index 104a3f0..5d2f85d 100644 --- a/init.vim +++ b/init.vim @@ -1,5 +1,8 @@ -runtime ./vimrc.vim +let g:username = 'veypi' +let g:email = 'veypi@qq.com' + +runtime ./vimrc.vim " 插件管理 lua require('plugins') lua require('lsp/setup') diff --git a/lua/lsp/efm.lua b/lua/lsp/efm.lua new file mode 100644 index 0000000..9bbb49b --- /dev/null +++ b/lua/lsp/efm.lua @@ -0,0 +1,15 @@ +-- 部分补全代码不支持autoformat 需使用efm自动补全 +-- https://github.com/mattn/efm-langserver +return { + init_options = {documentFormatting = true}, + filetypes = {'python'}, + settings = { + rootMarkers = {".git/"}, + languages = { + python = { + -- pip install yapf + {formatCommand = "yapf --quiet", formatStdin = true} + } + } + } +} diff --git a/lua/lsp/setup.lua b/lua/lsp/setup.lua index 956b866..8ff061b 100644 --- a/lua/lsp/setup.lua +++ b/lua/lsp/setup.lua @@ -6,16 +6,19 @@ local lsp_installer = require "nvim-lsp-installer" -- Mappings. -- See `:help vim.diagnostic.*` for documentation on any of the below functions local keyOpts = { noremap = true, silent = true } --- vim.api.nvim_buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') +-- vim.api.nvim_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc') vim.api.nvim_set_keymap('n', '', 'lua vim.lsp.buf.definition()', keyOpts) vim.api.nvim_set_keymap('n', 'f', 'lua vim.lsp.buf.formatting()', keyOpts) vim.api.nvim_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', keyOpts) +vim.api.nvim_set_keymap('n', 'e[', 'lua vim.diagnostic.goto_prev()',keyOpts) +vim.api.nvim_set_keymap('n', 'e]', 'lua vim.diagnostic.goto_next()', keyOpts) -- 安装列表 -- https://github.com/williamboman/nvim-lsp-installer#available-lsps -- { key: 语言 value: 配置文件 } +-- pyright 不支持autoformat local servers = { sumneko_lua = require "lsp.lua", -- /lua/lsp/lua.lua gopls = require "lsp.base", @@ -28,6 +31,7 @@ local servers = { pyright = require "lsp.base", rust_analyzer = require "lsp.base", tailwindcss = require "lsp.base", + efm = require "lsp.efm" } -- 自动安装 LanguageServers diff --git a/lua/plugins.lua b/lua/plugins.lua index b3753d4..3806eaf 100644 --- a/lua/plugins.lua +++ b/lua/plugins.lua @@ -45,10 +45,14 @@ return require('packer').startup(function() requires = { { 'nvim-lua/plenary.nvim' } } } - use {"akinsho/toggleterm.nvim"} + use { "akinsho/toggleterm.nvim" } use "Pocco81/AutoSave.nvim" use 'lewis6991/gitsigns.nvim' + + use 'ybian/smartim' + + use 'aperezdc/vim-template' end) diff --git a/lua/utils/setup.lua b/lua/utils/setup.lua index 3bef53a..83764bf 100644 --- a/lua/utils/setup.lua +++ b/lua/utils/setup.lua @@ -30,3 +30,4 @@ require("autosave").setup { require('gitsigns').setup { } + diff --git a/maps.vim b/maps.vim index d66ec17..e4110ed 100644 --- a/maps.vim +++ b/maps.vim @@ -37,7 +37,7 @@ nnoremap H ^ " nmap q :wqa -nmap q :BufferLineCycleNext:BufferLineCloseLeft +nmap q :bd nmap Q :qa! " 重新加载设置 @@ -52,15 +52,15 @@ nmap ggG " nmap :bnext nmap :BufferLineCyclePrev nmap :BufferLineCycleNext -nmap 1g :BufferLineGoToBuffer 1 -nmap 2g :BufferLineGoToBuffer 2 -nmap 3g :BufferLineGoToBuffer 3 -nmap 4g :BufferLineGoToBuffer 4 -nmap 5g :BufferLineGoToBuffer 5 -nmap 6g :BufferLineGoToBuffer 6 -nmap 7g :BufferLineGoToBuffer 7 -nmap 8g :BufferLineGoToBuffer 8 -nmap 9g :BufferLineGoToBuffer 9 +nmap 1 :BufferLineGoToBuffer 1 +nmap 2 :BufferLineGoToBuffer 2 +nmap 3 :BufferLineGoToBuffer 3 +nmap 4 :BufferLineGoToBuffer 4 +nmap 5 :BufferLineGoToBuffer 5 +nmap 6 :BufferLineGoToBuffer 6 +nmap 7 :BufferLineGoToBuffer 7 +nmap 8 :BufferLineGoToBuffer 8 +nmap 9 :BufferLineGoToBuffer 9 @@ -76,3 +76,27 @@ nnoremap sw Telescope live_grep " map map :ToggleTerm + +map :call CompileRunGcc() + +func! CompileRunGcc() + exec "w" + if &filetype == 'c' + exec '!g++ % -o %<' + exec '!time ./%<' + elseif &filetype == 'cpp' + exec '!g++ % -o %< -lboost_system' + exec '!time ./%<' + elseif &filetype == 'python' + exec '!time python %' + elseif &filetype == 'sh' + :!time bash % + elseif &filetype == 'go' + exec 'GoRun' + elseif &filetype == 'rust' + exec 'TermExec cmd="cargo run"' + elseif &filetype == 'verilog' + exec '!iverilog -o test.vvp % && ./test.vvp && open -a gtkwave test.vcd' + endif +endfunc + diff --git a/plug.vim b/plug.vim new file mode 100644 index 0000000..df5a6a9 --- /dev/null +++ b/plug.vim @@ -0,0 +1,6 @@ +let g:smartim_default = 'com.apple.keylayout.ABC' +let g:smartim_disable = 0 + +autocmd BufWritePre lua vim.lsp.buf.formatting_sync() + +