From 5ae3bc2041085bc17261a9eef64ea80378cb7d04 Mon Sep 17 00:00:00 2001 From: veypi Date: Mon, 14 Oct 2024 23:51:28 +0800 Subject: [PATCH] change lazyvim --- .gitignore | 44 ++----- .neoconf.json | 15 +++ LICENSE | 216 +++++++++++++++++++++++++++--- README.md | 6 +- init.lua | 2 + init.vim | 21 --- lazy-lock.json | 45 +++++++ lazyvim.json | 9 ++ lua/config/autocmds.lua | 3 + lua/config/keymaps.lua | 3 + lua/config/lazy.lua | 53 ++++++++ lua/config/options.lua | 4 + lua/frame/setup.lua | 113 ---------------- lua/lsp/base.lua | 2 - lua/lsp/efm.lua | 30 ----- lua/lsp/eslint.lua | 14 -- lua/lsp/go.lua | 0 lua/lsp/lua.lua | 27 ---- lua/lsp/python.lua | 0 lua/lsp/setup.lua | 145 -------------------- lua/lsp/sqlls.lua | 29 ---- lua/lsp/tailwind.lua | 3 - lua/lsp/volar.lua | 3 - lua/plugins.lua | 102 -------------- lua/plugins/example.lua | 193 +++++++++++++++++++++++++++ lua/plugins/noice.lua | 30 +++++ lua/utils/setup.lua | 40 ------ maps.vim | 105 --------------- plug.vim | 66 ---------- plugin/packer_compiled.lua | 249 ----------------------------------- start.sh | 13 -- stylua.toml | 3 + templates/=template=.go | 10 -- templates/=template=.rs | 8 -- templates/=template=.ts | 8 -- templates/=template=.vue | 16 --- templates/=template=Makefile | 9 -- vimrc.vim | 71 ---------- 38 files changed, 567 insertions(+), 1143 deletions(-) create mode 100644 .neoconf.json create mode 100644 init.lua delete mode 100644 init.vim create mode 100644 lazy-lock.json create mode 100644 lazyvim.json create mode 100644 lua/config/autocmds.lua create mode 100644 lua/config/keymaps.lua create mode 100644 lua/config/lazy.lua create mode 100644 lua/config/options.lua delete mode 100644 lua/frame/setup.lua delete mode 100644 lua/lsp/base.lua delete mode 100644 lua/lsp/efm.lua delete mode 100644 lua/lsp/eslint.lua delete mode 100644 lua/lsp/go.lua delete mode 100644 lua/lsp/lua.lua delete mode 100644 lua/lsp/python.lua delete mode 100644 lua/lsp/setup.lua delete mode 100644 lua/lsp/sqlls.lua delete mode 100644 lua/lsp/tailwind.lua delete mode 100644 lua/lsp/volar.lua delete mode 100644 lua/plugins.lua create mode 100644 lua/plugins/example.lua create mode 100644 lua/plugins/noice.lua delete mode 100644 lua/utils/setup.lua delete mode 100644 maps.vim delete mode 100644 plug.vim delete mode 100644 plugin/packer_compiled.lua delete mode 100644 start.sh create mode 100644 stylua.toml delete mode 100644 templates/=template=.go delete mode 100644 templates/=template=.rs delete mode 100644 templates/=template=.ts delete mode 100644 templates/=template=.vue delete mode 100644 templates/=template=Makefile delete mode 100644 vimrc.vim diff --git a/.gitignore b/.gitignore index 128f8cb..cc5457a 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,8 @@ -# ---> Vim -# Swap -[._]*.s[a-v][a-z] -!*.svg # comment out if you don't need vector files -[._]*.sw[a-p] -[._]s[a-rt-v][a-z] -[._]ss[a-gi-z] -[._]sw[a-p] - -# Session -Session.vim -Sessionx.vim - -# Temporary -.netrwhist -*~ -# Auto-generated tag files -tags -# Persistent undo -[._]*.un~ - -# ---> Linux -*~ - -# temporary files which can be created if a process still has a handle open of a deleted file -.fuse_hidden* - -# KDE directory preferences -.directory - -# Linux trash folder which might appear on any partition or disk -.Trash-* - -# .nfs files are created when an open file is removed but is still being accessed -.nfs* - +tt.* +.tests +doc/tags +debug +.repro +foo.* +*.log +data diff --git a/.neoconf.json b/.neoconf.json new file mode 100644 index 0000000..7c48087 --- /dev/null +++ b/.neoconf.json @@ -0,0 +1,15 @@ +{ + "neodev": { + "library": { + "enabled": true, + "plugins": true + } + }, + "neoconf": { + "plugins": { + "lua_ls": { + "enabled": true + } + } + } +} diff --git a/LICENSE b/LICENSE index 616f937..261eeb9 100644 --- a/LICENSE +++ b/LICENSE @@ -1,25 +1,201 @@ -Copyright (c) 2011, Deusty, LLC + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ -All rights reserved. + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION -Redistribution and use of this software in source and binary forms, with or -without modification, are permitted provided that the following conditions -are met: + 1. Definitions. -* Redistributions of source code must retain the above copyright notice, this -list of conditions and the following disclaimer. + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. -* Neither the name of Deusty nor the names of its contributors may be used -to endorse or promote products derived from this software without specific -prior written permission of Deusty, LLC. + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE -LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/README.md b/README.md index 67cf005..185280b 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# nvim - -my vim cfg +# 💤 LazyVim +A starter template for [LazyVim](https://github.com/LazyVim/LazyVim). +Refer to the [documentation](https://lazyvim.github.io/installation) to get started. diff --git a/init.lua b/init.lua new file mode 100644 index 0000000..2514f9e --- /dev/null +++ b/init.lua @@ -0,0 +1,2 @@ +-- bootstrap lazy.nvim, LazyVim and your plugins +require("config.lazy") diff --git a/init.vim b/init.vim deleted file mode 100644 index 34ab789..0000000 --- a/init.vim +++ /dev/null @@ -1,21 +0,0 @@ -let g:username = 'veypi' -let g:email = 'i@veypi.com' - -" 基本配置 -runtime ./vimrc.vim -" 插件管理 -lua require('plugins') -" 补全 -lua require('lsp/setup') -" 界面 -lua require('frame/setup') -" 工具类型 -lua require('utils/setup') - - -" 部分插件补全配置 -runtime ./plug.vim - - -" 按键映射 -runtime ./maps.vim diff --git a/lazy-lock.json b/lazy-lock.json new file mode 100644 index 0000000..fb7019f --- /dev/null +++ b/lazy-lock.json @@ -0,0 +1,45 @@ +{ + "LazyVim": { "branch": "main", "commit": "13a4a84e3485a36e64055365665a45dc82b6bf71" }, + "bufferline.nvim": { "branch": "main", "commit": "0b2fd861eee7595015b6561dade52fb060be10c4" }, + "catppuccin": { "branch": "main", "commit": "7be452ee067978cdc8b2c5f3411f0c71ffa612b9" }, + "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, + "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, + "conform.nvim": { "branch": "master", "commit": "40d4e98fcc3e6f485f0e8924c63734bc7e305967" }, + "dashboard-nvim": { "branch": "master", "commit": "d2c5a4d1341f5ca1ed2ecb4ecfcff2bc8ea18b14" }, + "dressing.nvim": { "branch": "master", "commit": "1b7921eecc65af1baf8ac1dc06f0794934cbcfb2" }, + "flash.nvim": { "branch": "main", "commit": "34c7be146a91fec3555c33fe89c7d643f6ef5cf1" }, + "friendly-snippets": { "branch": "main", "commit": "de8fce94985873666bd9712ea3e49ee17aadb1ed" }, + "gitsigns.nvim": { "branch": "main", "commit": "863903631e676b33e8be2acb17512fdc1b80b4fb" }, + "grug-far.nvim": { "branch": "main", "commit": "f47594f05d10b0bedfc0ed78e488e7fd714d57be" }, + "indent-blankline.nvim": { "branch": "master", "commit": "e7a4442e055ec953311e77791546238d1eaae507" }, + "lazy.nvim": { "branch": "main", "commit": "077102c5bfc578693f12377846d427f49bc50076" }, + "lazydev.nvim": { "branch": "main", "commit": "491452cf1ca6f029e90ad0d0368848fac717c6d2" }, + "lualine.nvim": { "branch": "master", "commit": "b431d228b7bbcdaea818bdc3e25b8cdbe861f056" }, + "luvit-meta": { "branch": "main", "commit": "ce76f6f6cdc9201523a5875a4471dcfe0186eb60" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "25c11854aa25558ee6c03432edfa0df0217324be" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "mini.ai": { "branch": "main", "commit": "9b9b7cfa38b4871c3e44cfe89cf6d53fd40684d9" }, + "mini.icons": { "branch": "main", "commit": "a2742459f0ee32806c2438ca06b4d8b331f3f4d4" }, + "mini.pairs": { "branch": "main", "commit": "7e834c5937d95364cc1740e20d673afe2d034cdb" }, + "neo-tree.nvim": { "branch": "main", "commit": "a77af2e764c5ed4038d27d1c463fa49cd4794e07" }, + "noice.nvim": { "branch": "main", "commit": "df448c649ef6bc5a6a633a44f2ad0ed8d4442499" }, + "nui.nvim": { "branch": "main", "commit": "b58e2bfda5cea347c9d58b7f11cf3012c7b3953f" }, + "nvim-cmp": { "branch": "main", "commit": "ae644feb7b67bf1ce4260c231d1d4300b19c6f30" }, + "nvim-lint": { "branch": "master", "commit": "f707b3ae50417067fa63fdfe179b0bff6b380da1" }, + "nvim-lspconfig": { "branch": "master", "commit": "b1de227da4ca6baf6ba865bec75917e4b4053844" }, + "nvim-notify": { "branch": "master", "commit": "fbef5d32be8466dd76544a257d3f3dce20082a07" }, + "nvim-snippets": { "branch": "main", "commit": "56b4052f71220144689caaa2e5b66222ba5661eb" }, + "nvim-treesitter": { "branch": "master", "commit": "245ffff7ac1f4aab19cb31d5ca3251d003a67e20" }, + "nvim-treesitter-textobjects": { "branch": "master", "commit": "b91c98afa6c42819aea6cbc1ba38272f5456a5cf" }, + "nvim-ts-autotag": { "branch": "main", "commit": "e239a560f338be31337e7abc3ee42515daf23f5e" }, + "persistence.nvim": { "branch": "main", "commit": "f6aad7dde7fcf54148ccfc5f622c6d5badd0cc3d" }, + "plenary.nvim": { "branch": "master", "commit": "2d9b06177a975543726ce5c73fca176cedbffe9d" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, + "telescope.nvim": { "branch": "master", "commit": "df534c3042572fb958586facd02841e10186707c" }, + "todo-comments.nvim": { "branch": "main", "commit": "ae0a2afb47cf7395dc400e5dc4e05274bf4fb9e0" }, + "tokyonight.nvim": { "branch": "main", "commit": "2c85fad417170d4572ead7bf9fdd706057bd73d7" }, + "trouble.nvim": { "branch": "main", "commit": "254145ffd528b98eb20be894338e2d5c93fa02c2" }, + "ts-comments.nvim": { "branch": "main", "commit": "98d7d4dec0af1312d38e288f800bbf6ff562b6ab" }, + "which-key.nvim": { "branch": "main", "commit": "8badb359f7ab8711e2575ef75dfe6fbbd87e4821" } +} diff --git a/lazyvim.json b/lazyvim.json new file mode 100644 index 0000000..8e6b0ec --- /dev/null +++ b/lazyvim.json @@ -0,0 +1,9 @@ +{ + "extras": [ + + ], + "news": { + "NEWS.md": "6520" + }, + "version": 6 +} \ No newline at end of file diff --git a/lua/config/autocmds.lua b/lua/config/autocmds.lua new file mode 100644 index 0000000..27e9e06 --- /dev/null +++ b/lua/config/autocmds.lua @@ -0,0 +1,3 @@ +-- Autocmds are automatically loaded on the VeryLazy event +-- Default autocmds that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/autocmds.lua +-- Add any additional autocmds here diff --git a/lua/config/keymaps.lua b/lua/config/keymaps.lua new file mode 100644 index 0000000..2c134f7 --- /dev/null +++ b/lua/config/keymaps.lua @@ -0,0 +1,3 @@ +-- Keymaps are automatically loaded on the VeryLazy event +-- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua +-- Add any additional keymaps here diff --git a/lua/config/lazy.lua b/lua/config/lazy.lua new file mode 100644 index 0000000..46d2e7a --- /dev/null +++ b/lua/config/lazy.lua @@ -0,0 +1,53 @@ +local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" +if not (vim.uv or vim.loop).fs_stat(lazypath) then + local lazyrepo = "https://github.com/folke/lazy.nvim.git" + local out = vim.fn.system({ "git", "clone", "--filter=blob:none", "--branch=stable", lazyrepo, lazypath }) + if vim.v.shell_error ~= 0 then + vim.api.nvim_echo({ + { "Failed to clone lazy.nvim:\n", "ErrorMsg" }, + { out, "WarningMsg" }, + { "\nPress any key to exit..." }, + }, true, {}) + vim.fn.getchar() + os.exit(1) + end +end +vim.opt.rtp:prepend(lazypath) + +require("lazy").setup({ + spec = { + -- add LazyVim and import its plugins + { "LazyVim/LazyVim", import = "lazyvim.plugins" }, + -- import/override with your plugins + { import = "plugins" }, + }, + defaults = { + -- By default, only LazyVim plugins will be lazy-loaded. Your custom plugins will load during startup. + -- If you know what you're doing, you can set this to `true` to have all your custom plugins lazy-loaded by default. + lazy = false, + -- It's recommended to leave version=false for now, since a lot the plugin that support versioning, + -- have outdated releases, which may break your Neovim install. + version = false, -- always use the latest git commit + -- version = "*", -- try installing the latest stable version for plugins that support semver + }, + install = { colorscheme = { "tokyonight", "habamax" } }, + checker = { + enabled = true, -- check for plugin updates periodically + notify = false, -- notify on update + }, -- automatically check for plugin updates + performance = { + rtp = { + -- disable some rtp plugins + disabled_plugins = { + "gzip", + -- "matchit", + -- "matchparen", + -- "netrwPlugin", + "tarPlugin", + "tohtml", + "tutor", + "zipPlugin", + }, + }, + }, +}) diff --git a/lua/config/options.lua b/lua/config/options.lua new file mode 100644 index 0000000..6a63330 --- /dev/null +++ b/lua/config/options.lua @@ -0,0 +1,4 @@ +-- Options are automatically loaded before lazy.nvim startup +-- Default options that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/options.lua +-- Add any additional options here +-- diff --git a/lua/frame/setup.lua b/lua/frame/setup.lua deleted file mode 100644 index e3dbaef..0000000 --- a/lua/frame/setup.lua +++ /dev/null @@ -1,113 +0,0 @@ - --- r rename --- d delete --- s open item in system tool --- a add file/dir -require 'nvim-tree'.setup { - sort_by = "case_sensitive", - renderer = { - group_empty = true, - }, - filters = { - dotfiles = true, - custom = {}, - exclude = {}, - }, - git = { - enable = true, - ignore = true, - timeout = 400, - }, - view = { - width = 24, - } -} - - -vim.opt.background = "dark" -- or "light" for light mode -vim.cmd([[colorscheme gruvbox]]) - -vim.opt.termguicolors = true -require("bufferline").setup { - options = { - sort_by = 'id', - numbers = 'ordinal', - -- 左侧让出 nvim-tree 的位置 - diagnostics = "nvim_lsp"; - offsets = { { - filetype = "NvimTree", - text = "veypi.com", - highlight = "Directory", - text_align = "center" - } } - } -} - -vim.g.gitblame_display_virtual_text = 0 -- Disable virtual text -vim.g.gitblame_date_format = "%r" -local git_blame = require('gitblame') - -require('lualine').setup { - options = { - icons_enabled = true, - theme = 'auto', - component_separators = { left = '', right = '' }, - section_separators = { left = '', right = '' }, - disabled_filetypes = {}, - always_divide_middle = true, - globalstatus = false, - }, - sections = { - lualine_a = { 'mode' }, - lualine_b = { 'branch', 'diff', 'diagnostics' }, - lualine_c = { - { git_blame.get_current_blame_text, cond = git_blame.is_blame_text_available }, - 'filename' - }, - lualine_x = { 'encoding', 'fileformat', 'filetype' }, - lualine_y = { 'progress' }, - lualine_z = { 'location' } - }, - inactive_sections = { - lualine_a = {}, - lualine_b = {}, - lualine_c = { 'filename' }, - lualine_x = { 'location' }, - lualine_y = {}, - lualine_z = {} - }, - tabline = {}, - extensions = {} -} - - - - - -require 'nvim-treesitter.configs'.setup { - -- A list of parser names, or "all" - ensure_installed = { "c", "lua", "rust", "go", "javascript", "html", "json", "python", "typescript", "vue", "css" }, - - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, - - -- List of parsers to ignore installing (for "all") - ignore_install = { "" }, - - highlight = { - -- `false` will disable the whole extension - enable = true, - - -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to - -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is - -- the name of the parser) - -- list of language that will be disabled - disable = {}, - - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - }, -} diff --git a/lua/lsp/base.lua b/lua/lsp/base.lua deleted file mode 100644 index 97aeadd..0000000 --- a/lua/lsp/base.lua +++ /dev/null @@ -1,2 +0,0 @@ -return { -} diff --git a/lua/lsp/efm.lua b/lua/lsp/efm.lua deleted file mode 100644 index e8465ef..0000000 --- a/lua/lsp/efm.lua +++ /dev/null @@ -1,30 +0,0 @@ --- 部分补全代码不支持autoformat 需使用efm自动补全 --- https://github.com/mattn/efm-langserver -return { - init_options = { documentFormatting = true }, - filetypes = { 'python', 'json', 'css', 'yaml' }, - settings = { - rootMarkers = { ".git/" }, - languages = { - python = { - -- pip install yapf - { formatCommand = "yapf --quiet", formatStdin = true } - }, - json = { - -- yarn global add fixjson - { formatCommand = "fixjson", formatStdin = true } - - }, - -- yarn global add yaml-lint - yaml = { - { formatCommand = "yamllint -f parsable -", formatStdin = true } - }, - css = { - -- yarn global add prettier - { formatCommand = "prettier --tab-width=4 ${--single-quote:singleQuote} --parser css", formatStdin = true } - -- { formatCommand = "prettier ${--tab-width:tabWidth} ${--single-quote:singleQuote} --parser css", formatStdin = true } - - } - } - } -} diff --git a/lua/lsp/eslint.lua b/lua/lsp/eslint.lua deleted file mode 100644 index ec471ad..0000000 --- a/lua/lsp/eslint.lua +++ /dev/null @@ -1,14 +0,0 @@ -local eslint_config = require("lspconfig.server_configurations.eslint") - -return { - on_attach = function(client, bufnr) - -- neovim's LSP client does not currently support dynamic capabilities registration, so we need to set - -- the resolved capabilities of the eslint server ourselves! - client.resolved_capabilities.document_formatting = true - end, - settings = { - format = { enable = true }, - }, - print(unpack(eslint_config.default_config.cmd)), - cmd = { "yarn", "exec", unpack(eslint_config.default_config.cmd) } -} diff --git a/lua/lsp/go.lua b/lua/lsp/go.lua deleted file mode 100644 index e69de29..0000000 diff --git a/lua/lsp/lua.lua b/lua/lsp/lua.lua deleted file mode 100644 index 4ea38c0..0000000 --- a/lua/lsp/lua.lua +++ /dev/null @@ -1,27 +0,0 @@ -local runtime_path = vim.split(package.path, ';') -table.insert(runtime_path, "lua/?.lua") -table.insert(runtime_path, "lua/?/init.lua") -return { - settings = { - Lua = { - runtime = { - -- Tell the language server which version of Lua you're using (most likely LuaJIT in the case of Neovim) - version = 'LuaJIT', - -- Setup your lua path - path = runtime_path, - }, - diagnostics = { - -- Get the language server to recognize the `vim` global - globals = { 'vim' }, - }, - workspace = { - -- Make the server aware of Neovim runtime files - library = vim.api.nvim_get_runtime_file("", true), - }, - -- Do not send telemetry data containing a randomized but unique identifier - telemetry = { - enable = false - }, - }, - }, -} diff --git a/lua/lsp/python.lua b/lua/lsp/python.lua deleted file mode 100644 index e69de29..0000000 diff --git a/lua/lsp/setup.lua b/lua/lsp/setup.lua deleted file mode 100644 index 3cdeeb1..0000000 --- a/lua/lsp/setup.lua +++ /dev/null @@ -1,145 +0,0 @@ -require("mason").setup({ - ui = { - icons = { - package_installed = "✓", - package_pending = "➜", - package_uninstalled = "✗" - } - } -}) - --- https://github.com/williamboman/mason-lspconfig.nvim -require("mason-lspconfig").setup { - ensure_installed = { "rust_analyzer", "gopls", "volar", "cssls", "yamlls", "zk", "tsserver", "pyright", - "tailwindcss", "sqlls", "efm", "html" }, -} - -local lspconfig = require('lspconfig') -local capabilities = vim.lsp.protocol.make_client_capabilities() -capabilities = require('cmp_nvim_lsp').default_capabilities(capabilities) - --- 需特别配置的lsp插件 --- { key: 语言 value: 配置文件 } --- pyright 不支持autoformat -local servers = { - sumneko_lua = require "lsp.lua", -- /lua/lsp/lua.lua - tailwindcss = require "lsp.tailwind", - sqlls = require "lsp.sqlls", - efm = require "lsp.efm", - volar = require "lsp.volar" -} - -require("mason-lspconfig").setup_handlers({ - -- The first entry (without a key) will be the default handler - -- and will be called for each installed server that doesn't have - -- a dedicated handler. - function(server_name) -- default handler (optional) - local opts = servers[server_name] - if not opts then - opts = {} - end - opts.capabilities = capabilities - opts.flags = { - debounce_text_changes = 150, - } - require("lspconfig")[server_name].setup(opts) - end, -}) - --- 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_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', '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) - --- vim.cmd [[autocmd BufWritePre lua vim.lsp.buf.formatting_seq_sync()]] - - --- luasnip setup -local luasnip = require 'luasnip' - -local cmp_autopairs = require('nvim-autopairs.completion.cmp') -require('nvim-ts-autotag').setup() - --- nvim-cmp setup -local cmp = require 'cmp' -cmp.event:on('confirm_done', cmp_autopairs.on_confirm_done({ map_char = { tex = '' } })) - -cmp.setup { - snippet = { - expand = function(args) - luasnip.lsp_expand(args.body) - end, - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.confirm { - behavior = cmp.ConfirmBehavior.Replace, - select = true, - }, - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_next_item() - elseif luasnip.expand_or_jumpable() then - luasnip.expand_or_jump() - else - fallback() - end - end, { 'i', 's' }), - [''] = cmp.mapping(function(fallback) - if cmp.visible() then - cmp.select_prev_item() - elseif luasnip.jumpable(-1) then - luasnip.jump(-1) - else - fallback() - end - end, { 'i', 's' }), - }), - sources = { - { name = 'nvim_lsp' }, - { name = 'luasnip' }, - { name = 'buffer' }, - { name = 'path' }, - { name = 'omni', } - }, -} - --- Utilities for creating configurations -local util = require "formatter.util" - --- Provides the Format, FormatWrite, FormatLock, and FormatWriteLock commands -require("formatter").setup { - -- Enable or disable logging - logging = true, - -- Set the log level - log_level = vim.log.levels.WARN, - -- All formatter configurations are opt-in - filetype = { - vue = { - function() - return { - exe = "prettierd", - args = {vim.api.nvim_buf_get_name(0)}, - stdin = true - } - end - }, - - -- Use the special "*" filetype for defining formatter configurations on - -- any filetype - -- ["*"] = { - -- -- "formatter.filetypes.any" defines default configurations for any - -- -- filetype - -- require("formatter.filetypes.any").remove_trailing_whitespace - -- } - } -} diff --git a/lua/lsp/sqlls.lua b/lua/lsp/sqlls.lua deleted file mode 100644 index 891feeb..0000000 --- a/lua/lsp/sqlls.lua +++ /dev/null @@ -1,29 +0,0 @@ -#! /usr/bin/env lua --- --- sql.lua --- Copyright (C) 2022 veypi --- --- Distributed under terms of the Apache license. --- - - - -return { - settings = { - sqlls = { - connections = { - { - driver = 'mysql', - dataSourceName = 'root:123456@tcp(127.0.0.1:3306)/test', - }, - }, - }, - }, - on_attach = function(client) - client.resolved_capabilities.document_formatting = false - client.resolved_capabilities.document_range_formatting = false - client.server_capabilities.documentFormattingProvider = false - client.server_capabilities.documentRangeFormattingProvider = false - -- print(vim.inspect(client)) - end, -} diff --git a/lua/lsp/tailwind.lua b/lua/lsp/tailwind.lua deleted file mode 100644 index 55ebef2..0000000 --- a/lua/lsp/tailwind.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - filetypes = { "html", "css", "less", "postcss", "sass", "scss", "stylus", "sugarss", "javascript", "javascriptreact", "reason", "rescript", "typescript", "typescriptreact", "vue", "svelte" } -} diff --git a/lua/lsp/volar.lua b/lua/lsp/volar.lua deleted file mode 100644 index b71e3ed..0000000 --- a/lua/lsp/volar.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - filetypes = { 'vue', 'typescript', 'javascript', 'css' } -} diff --git a/lua/plugins.lua b/lua/plugins.lua deleted file mode 100644 index 4fd8142..0000000 --- a/lua/plugins.lua +++ /dev/null @@ -1,102 +0,0 @@ --- This file can be loaded by calling `lua require('plugins')` from your init.vim - --- Only required if you have packer configured as `opt` --- vim.cmd [[packadd packer.nvim]] -local execute = vim.api.nvim_command -local fn = vim.fn - -local install_path = fn.stdpath('data') .. '/site/pack/packer/start/packer.nvim' - -if fn.empty(fn.glob(install_path)) > 0 then - execute('!git clone https://github.com/wbthomason/packer.nvim ' .. install_path) - execute 'packadd packer.nvim' -end - -vim.api.nvim_create_autocmd("BufWritePost", { - pattern = "plugins.lua", - command = "source | PackerCompile", -}) - - - -return require('packer').startup(function() - -- Packer can manage itself - -- 包管理 - use 'wbthomason/packer.nvim' - use "williamboman/mason.nvim" - use "williamboman/mason-lspconfig.nvim" - - -- LSP 代码补全插件 - - use 'neovim/nvim-lspconfig' - - use 'windwp/nvim-autopairs' - - - use 'windwp/nvim-ts-autotag' - - use 'hrsh7th/nvim-cmp' - use 'hrsh7th/cmp-path' - use 'hrsh7th/cmp-omni' - use 'hrsh7th/cmp-buffer' - use 'hrsh7th/cmp-nvim-lsp' - use 'saadparwaiz1/cmp_luasnip' - use 'L3MON4D3/LuaSnip' - - -- 格式化 - use 'mhartington/formatter.nvim' - - - -- 界面插件 - - use { "ellisonleao/gruvbox.nvim" } - -- need to install nerd font - use 'kyazdani42/nvim-web-devicons' - use 'kyazdani42/nvim-tree.lua' - use 'akinsho/bufferline.nvim' - use 'nvim-lualine/lualine.nvim' - use 'f-person/git-blame.nvim' - - use { - 'nvim-treesitter/nvim-treesitter', - run = ':TSUpdate' - } - - - -- utils - -- 注释插件 - use 'numToStr/Comment.nvim' - -- 模糊查找工具 文件跳转 - use { - 'nvim-telescope/telescope.nvim', - requires = { { 'nvim-lua/plenary.nvim' } } - } - - -- vim 内打开终端工具 - use { "akinsho/toggleterm.nvim" } - - -- 自动保存 - -- use "Pocco81/AutoSave.nvim" - - -- git状态 - use 'lewis6991/gitsigns.nvim' - - -- 新文件模板 - use 'aperezdc/vim-template' - - -- 缩进标记 - use "lukas-reineke/indent-blankline.nvim" - - -- 显示颜色 如#0f0 - use "norcalli/nvim-colorizer.lua" - - -- git 查看merge信息 - -- ~/.gitconfig - -- [merge] - -- conflictStyle = diff3 - use "samoshkin/vim-mergetool" - - -- latex 工具支持 - use 'lervag/vimtex' - -end) diff --git a/lua/plugins/example.lua b/lua/plugins/example.lua new file mode 100644 index 0000000..4ad9825 --- /dev/null +++ b/lua/plugins/example.lua @@ -0,0 +1,193 @@ +-- since this is just an example spec, don't actually load anything here and return an empty spec +-- stylua: ignore +if true then return {} end + +-- every spec file under the "plugins" directory will be loaded automatically by lazy.nvim +-- +-- In your plugin files, you can: +-- * add extra plugins +-- * disable/enabled LazyVim plugins +-- * override the configuration of LazyVim plugins +return { + -- add gruvbox + { "ellisonleao/gruvbox.nvim" }, + + -- Configure LazyVim to load gruvbox + { + "LazyVim/LazyVim", + opts = { + colorscheme = "gruvbox", + }, + }, + + -- change trouble config + { + "folke/trouble.nvim", + -- opts will be merged with the parent spec + opts = { use_diagnostic_signs = true }, + }, + + -- disable trouble + { "folke/trouble.nvim", enabled = false }, + + -- override nvim-cmp and add cmp-emoji + { + "hrsh7th/nvim-cmp", + dependencies = { "hrsh7th/cmp-emoji" }, + ---@param opts cmp.ConfigSchema + opts = function(_, opts) + table.insert(opts.sources, { name = "emoji" }) + end, + }, + + -- change some telescope options and a keymap to browse plugin files + { + "nvim-telescope/telescope.nvim", + keys = { + -- add a keymap to browse plugin files + -- stylua: ignore + { + "fp", + function() require("telescope.builtin").find_files({ cwd = require("lazy.core.config").options.root }) end, + desc = "Find Plugin File", + }, + }, + -- change some options + opts = { + defaults = { + layout_strategy = "horizontal", + layout_config = { prompt_position = "top" }, + sorting_strategy = "ascending", + winblend = 0, + }, + }, + }, + + -- add pyright to lspconfig + { + "neovim/nvim-lspconfig", + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- pyright will be automatically installed with mason and loaded with lspconfig + pyright = {}, + }, + }, + }, + + -- add tsserver and setup with typescript.nvim instead of lspconfig + { + "neovim/nvim-lspconfig", + dependencies = { + "jose-elias-alvarez/typescript.nvim", + init = function() + require("lazyvim.util").lsp.on_attach(function(_, buffer) + -- stylua: ignore + vim.keymap.set( "n", "co", "TypescriptOrganizeImports", { buffer = buffer, desc = "Organize Imports" }) + vim.keymap.set("n", "cR", "TypescriptRenameFile", { desc = "Rename File", buffer = buffer }) + end) + end, + }, + ---@class PluginLspOpts + opts = { + ---@type lspconfig.options + servers = { + -- tsserver will be automatically installed with mason and loaded with lspconfig + tsserver = {}, + }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + tsserver = function(_, opts) + require("typescript").setup({ server = opts }) + return true + end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + }, + }, + + -- for typescript, LazyVim also includes extra specs to properly setup lspconfig, + -- treesitter, mason and typescript.nvim. So instead of the above, you can use: + { import = "lazyvim.plugins.extras.lang.typescript" }, + + -- add more treesitter parsers + { + "nvim-treesitter/nvim-treesitter", + opts = { + ensure_installed = { + "bash", + "html", + "javascript", + "json", + "lua", + "markdown", + "markdown_inline", + "python", + "query", + "regex", + "tsx", + "typescript", + "vim", + "yaml", + }, + }, + }, + + -- since `vim.tbl_deep_extend`, can only merge tables and not lists, the code above + -- would overwrite `ensure_installed` with the new value. + -- If you'd rather extend the default config, use the code below instead: + { + "nvim-treesitter/nvim-treesitter", + opts = function(_, opts) + -- add tsx and treesitter + vim.list_extend(opts.ensure_installed, { + "tsx", + "typescript", + }) + end, + }, + + -- the opts function can also be used to change the default opts: + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function(_, opts) + table.insert(opts.sections.lualine_x, "😄") + end, + }, + + -- or you can return new options to override all the defaults + { + "nvim-lualine/lualine.nvim", + event = "VeryLazy", + opts = function() + return { + --[[add your custom lualine config here]] + } + end, + }, + + -- use mini.starter instead of alpha + { import = "lazyvim.plugins.extras.ui.mini-starter" }, + + -- add jsonls and schemastore packages, and setup treesitter for json, json5 and jsonc + { import = "lazyvim.plugins.extras.lang.json" }, + + -- add any tools you want to have installed below + { + "williamboman/mason.nvim", + opts = { + ensure_installed = { + "stylua", + "shellcheck", + "shfmt", + "flake8", + }, + }, + }, +} diff --git a/lua/plugins/noice.lua b/lua/plugins/noice.lua new file mode 100644 index 0000000..1a1f041 --- /dev/null +++ b/lua/plugins/noice.lua @@ -0,0 +1,30 @@ +return { + { + "folke/noice.nvim", + opts = function(_, opts) + opts.presets = { + command_palette = { + views = { + cmdline_popup = { + position = { + row = 18, + col = "50%", + }, + size = { + min_width = 60, + width = "auto", + height = "auto", + }, + }, + cmdline_popupmenu = { + position = { + row = 20, + col = "50%", + }, + }, + }, + }, + } + end, + }, +} diff --git a/lua/utils/setup.lua b/lua/utils/setup.lua deleted file mode 100644 index 857e1c1..0000000 --- a/lua/utils/setup.lua +++ /dev/null @@ -1,40 +0,0 @@ -require('Comment').setup() - -require('nvim-autopairs').setup() - - -require("toggleterm").setup { - open_mapping = [[]], - hide_numbers = true, - insert_mappings = true, -- whether or not the open mapping applies in insert mode - terminal_mappings = true, - shell = vim.o.shell, -} - --- require("autosave").setup { --- enabled = true, --- execution_message = "AutoSave: saved at " .. vim.fn.strftime("%H:%M:%S"), --- events = { "BufLeave", "FocusLost" }, --- conditions = { --- exists = true, --- filename_is_not = {}, --- filetype_is_not = {}, --- modifiable = true --- }, --- write_all_buffers = true, --- on_off_commands = true, --- clean_command_line_interval = 0, --- debounce_delay = 135 --- } - -require('gitsigns').setup { - -} - -require("indent_blankline").setup { - -- for example, context is off by default, use this to turn it on - show_current_context = true, - show_current_context_start = true, -} - -require 'colorizer'.setup() diff --git a/maps.vim b/maps.vim deleted file mode 100644 index bfa9cc8..0000000 --- a/maps.vim +++ /dev/null @@ -1,105 +0,0 @@ -" window -"------------------------------------------------------------------------------- -" Split window -nmap ss :splitw -nmap sv :vsplitw -" Move window -"nmap w -"map s h -"map s k -"map s j -"map s l -map sh h -map sk k -map sj j -map sl l - -" Resize window -nmap + -nmap - -nmap < -nmap > - - - -" 插入模式移动光标 -inoremap h -inoremap j -inoremap k -inoremap l -inoremap d - -nnoremap L $ -nnoremap H ^ - -" 退出 -" nmap w :wq -" nmap q :wqa - - -nmap q :bd -nmap Q :qa! - -" 重新加载设置 -map R :source ~/.config/nvim/init.vim - - -" 全选 -nmap ggG - -" 切换页面 -" nmap :bprev -" nmap :bnext -nmap [ :BufferLineCyclePrev -nmap ] :BufferLineCycleNext -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 - - - - -nnoremap :NvimTreeToggle - - -" telescope -nnoremap sf Telescope find_files -nnoremap sw Telescope live_grep - -nnoremap f :Format -nnoremap F :FormatWrite - -" 禁用f1 -" 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 deleted file mode 100644 index 79fff8b..0000000 --- a/plug.vim +++ /dev/null @@ -1,66 +0,0 @@ - -let g:mergetool_prefer_revision = 'unmodified' -let g:mergetool_layout = 'LmR' - - -let g:templates_directory = '~/.config/nvim/templates/' -let g:license = 'Apache' - - -" autocmd BufWritePre lua vim.lsp.buf.formatting_sync() -augroup FormatAutogroup - autocmd! - " autocmd BufWritePost * FormatWrite -augroup END -" autocmd BufWritePre * lua vim.lsp.buf.formatting_sync() - -filetype plugin indent on - -" This enables Vim's and neovim's syntax-related features. Without this, some -" VimTeX features will not work (see ":help vimtex-requirements" for more -" info). -syntax enable - -" Viewer options: One may configure the viewer either by specifying a built-in -" viewer method: -let g:vimtex_view_enabled = 1 -let g:vimtex_view_method = 'zathura' - -" Or with a generic interface: -" let g:vimtex_view_general_viewer = 'okular' -" let g:vimtex_view_general_options = '--unique file:@pdf\#src:@line@tex' - -" VimTeX uses latexmk as the default compiler backend. If you use it, which is -" strongly recommended, you probably don't need to configure anything. If you -" want another compiler backend, you can change it as follows. The list of -" supported backends and further explanation is provided in the documentation, -" see ":help vimtex-compiler". -let g:vimtex_compiler_method = 'latexmk' - -let g:vimtex_compiler_latexmk = { - \ 'build_dir' : './build', - \ 'callback' : 1, - \ 'continuous' : 1, - \ 'executable' : 'latexmk', - \ 'hooks' : [], - \ 'options' : [ - \ '-pvc', - \ '-xelatex', - \ '-verbose', - \ '-file-line-error', - \ '-synctex=1', - \ '-interaction=nonstopmode', - \ ], - \ } - -" Most VimTeX mappings rely on localleader and this can be changed with the -" following line. The default is usually fine and is the symbol "\". -" let maplocalleader = "," - - - -" copilot config -imap - - - diff --git a/templates/=template=Makefile b/templates/=template=Makefile deleted file mode 100644 index 5ffdd47..0000000 --- a/templates/=template=Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# -# %FFILE% -# Copyright (C) %YEAR% %USER% <%MAIL%> -# %FDATE% -# Distributed under terms of the %LICENSE% license. -# - -all: - %HERE%@echo "%FFILE% needs your attention" diff --git a/vimrc.vim b/vimrc.vim deleted file mode 100644 index 6996b70..0000000 --- a/vimrc.vim +++ /dev/null @@ -1,71 +0,0 @@ -"----vim 个人使用习惯配置start------ -set encoding=UTF-8 -" leader设置成空格 -let mapleader="\\" -" 使用鼠标 -set mouse=a -" 显示行号 -set nu -" 相对行号 -set relativenumber -" tab=4个空格 -set tabstop=4 -set shiftwidth=4 -" 高度光标所在行 -"set cursorline -" -" 设置不换行 -"set nowrap -set wrap -set linebreak -" 打开文件时返回编辑的光标地点 -au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif - - -" 始终显示左侧符号栏 如git error信息等 -set signcolumn=yes:1 - -" 在文件外修改时自动加载 -set autoread - -set expandtab -set smartindent - -" 自动按照缩进进行代码折叠 -set foldmethod=indent -set foldnestmax=10 "deepest fold is 10 levels -set nofoldenable "dont fold by default -set foldlevel=1 - -" 启用预览被折叠的代码 -let g:SimpylFold_docstring_preview = 1 - -" 搜索大小写不敏感 -set ignorecase smartcase - -" 显示按下的按键 -set showcmd -" 按tab显示菜单 -set wildmenu -" 不需要备份文件 -set nobackup -" 复制剪贴 -set clipboard=unnamedplus -"随机选一个颜色风格 -function RandomColorScheme() - let mycolors = split(globpath(&rtp,"**/colors/*.vim"),"\n") - exe 'so ' . mycolors[localtime() % len(mycolors)] - unlet mycolors -endfunction - -"call RandomColorScheme() - -:command NewColor call RandomColorScheme() - - -" 文件类型设置 " -" --------------------------------------------------------------------- -" JSX 语法高亮 -" set filetypes as typescriptreact -autocmd BufNewFile,BufRead *.tsx,*.jsx,*.js set filetype=typescript -