-- ============================================================================= -- options.lua — 编辑器基础选项 -- ============================================================================= -- 【来源】从原 init.lua 提取,补充了参考配置中缺失的选项。 -- 【新增项】已用 ✅ 标注,【修改项】已用 🔧 标注。 local opt = vim.opt -- ───────────────────────────────────────────── -- 行号 -- ───────────────────────────────────────────── opt.number = true -- 当前行绝对行号 opt.relativenumber = true -- 相对行号(保留你的设置,方便 5j/5k 跳转) -- ───────────────────────────────────────────── -- 缩进 -- ───────────────────────────────────────────── opt.tabstop = 4 -- Tab 宽度 4(保留你的设置,适配 C/C++) opt.shiftwidth = 4 -- 缩进宽度 4 opt.expandtab = true -- Tab 转空格 opt.autoindent = true -- ✅ 新增:新行继承上一行缩进 opt.smartindent = true -- 智能缩进 -- ───────────────────────────────────────────── -- 搜索 -- ───────────────────────────────────────────── opt.ignorecase = true -- 搜索忽略大小写 opt.smartcase = true -- 含大写字母时区分大小写 opt.hlsearch = true -- ✅ 新增:高亮搜索匹配 opt.incsearch = true -- ✅ 新增:实时预览搜索 -- ───────────────────────────────────────────── -- 显示 & 界面 -- ───────────────────────────────────────────── opt.termguicolors = true -- 真彩色 opt.cursorline = true -- 高亮当前行 opt.signcolumn = "yes" -- 始终显示符号列 opt.wrap = false -- 不自动换行 opt.scrolloff = 8 -- ✅ 新增:光标距上下边缘保持 8 行 opt.sidescrolloff = 8 -- ✅ 新增:光标距左右边缘保持 8 列 opt.showmode = false -- ✅ 新增:隐藏 --INSERT--(状态栏会显示) opt.pumheight = 10 -- 补全菜单最大高度 opt.winborder = "rounded" -- 全局浮动窗口圆角(保留你的设置) -- ───────────────────────────────────────────── -- 分割窗口 -- ───────────────────────────────────────────── opt.splitright = true -- 垂直分割在右侧 opt.splitbelow = true -- 水平分割在下方 -- ───────────────────────────────────────────── -- 文件 & 编码 -- ───────────────────────────────────────────── opt.encoding = "utf-8" -- ✅ 新增:显式指定 UTF-8 opt.fileencoding = "utf-8" -- ✅ 新增 opt.swapfile = false -- ✅ 新增:关闭交换文件 opt.backup = false -- ✅ 新增:关闭备份文件 opt.undofile = true -- 持久化撤销 -- ───────────────────────────────────────────── -- 鼠标 & 剪贴板 -- ───────────────────────────────────────────── opt.mouse = "a" -- ✅ 新增:所有模式启用鼠标 opt.clipboard = "unnamedplus" -- 系统剪贴板 -- ───────────────────────────────────────────── -- 性能 -- ───────────────────────────────────────────── opt.updatetime = 250 -- LSP 悬浮提示触发延迟 opt.timeoutlen = 300 -- 快捷键序列超时 opt.wildmenu = true -- 命令行补全增强 opt.wildmode = "longest:full,full" -- ───────────────────────────────────────────── -- 补全 -- ───────────────────────────────────────────── -- 🔧 修改:completeopt 改为 blink.cmp 推荐的配置 opt.completeopt = { "menuone", "noselect" } -- ───────────────────────────────────────────── -- 折叠(为 nvim-ufo 准备) -- ───────────────────────────────────────────── opt.foldlevel = 99 opt.foldlevelstart = 99 -- ✅ 新增:启动时展开所有折叠 opt.foldenable = true -- ✅ 新增:启用折叠 -- ───────────────────────────────────────────── -- 其他 -- ───────────────────────────────────────────── opt.conceallevel = 0 -- ✅ 新增:不隐藏特殊字符 opt.isfname:append("@-@") -- ✅ 新增:文件名识别 @ 符号