-- ============================================================================ -- Neovim 入口配置 -- ============================================================================ -- Leader 键 vim.g.mapleader = " " -- --------------------------------------------------------------------------- -- 编辑器选项 -- --------------------------------------------------------------------------- local opt = vim.opt opt.number = true -- 行号 opt.relativenumber = true -- 相对行号 opt.tabstop = 4 -- Tab 宽度 opt.shiftwidth = 4 -- 缩进宽度 opt.expandtab = true -- Tab 转空格 opt.smartindent = true -- 智能缩进 opt.wrap = false -- 不自动换行 opt.cursorline = true -- 高亮当前行 opt.signcolumn = "yes" -- 始终显示符号列 opt.updatetime = 250 -- 快速更新 opt.timeoutlen = 300 -- 快捷键超时 opt.splitright = true -- 垂直分屏在右侧 opt.splitbelow = true -- 水平分屏在下方 opt.undofile = true -- 持久化撤销 opt.ignorecase = true -- 搜索忽略大小写 opt.smartcase = true -- 智能大小写 opt.wildmenu = true -- 命令行补全增强 opt.wildmode = "longest:full,full" opt.pumheight = 10 -- 补全菜单最大高度 opt.clipboard = "unnamedplus" -- 系统剪贴板 opt.termguicolors = true -- 真彩色支持 opt.foldlevel = 99 -- 默认展开所有折叠 -- 全局浮动窗口圆角边框(与 blink.cmp 补全菜单一致) vim.o.winborder = "rounded" -- --------------------------------------------------------------------------- -- 基础键位 -- --------------------------------------------------------------------------- local keymap = vim.keymap.set -- 编辑器操作 keymap("n", "w", "w", { desc = "保存" }) keymap("n", "q", "q", { desc = "退出" }) keymap("n", "/", "noh", { desc = "清除搜索高亮" }) -- 窗口导航 keymap("n", "", "h", { desc = "跳到左边窗口" }) keymap("n", "", "j", { desc = "跳到下面窗口" }) keymap("n", "", "k", { desc = "跳到上面窗口" }) keymap("n", "", "l", { desc = "跳到右边窗口" }) -- --------------------------------------------------------------------------- -- lazy.nvim 插件管理器 -- --------------------------------------------------------------------------- local lazypath = vim.fn.stdpath("data") .. "/lazy/lazy.nvim" if not vim.uv.fs_stat(lazypath) then vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", "--branch=stable", lazypath, }) end vim.opt.rtp:prepend(lazypath) require("lazy").setup({ spec = { { import = "plugins" } }, defaults = { lazy = true }, install = { colorscheme = { "default" } }, checker = { enabled = false }, })