-- ============================================================================= -- options.lua — 编辑器基础选项 -- ============================================================================= local opt = vim.opt -- ───────────────────────────────────────────── -- 行号 -- ───────────────────────────────────────────── opt.number = true -- 当前行绝对行号 opt.relativenumber = true -- 相对行号 -- ───────────────────────────────────────────── -- 缩进 -- ───────────────────────────────────────────── opt.tabstop = 4 -- Tab 宽度 opt.shiftwidth = 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 -- 隐藏模式提示(状态栏会显示) opt.pumheight = 10 -- 补全菜单最大高度 opt.winborder = "rounded" -- 全局浮动窗口圆角 -- ───────────────────────────────────────────── -- 分割窗口 -- ───────────────────────────────────────────── opt.splitright = true -- 垂直分割在右侧 opt.splitbelow = true -- 水平分割在下方 -- ───────────────────────────────────────────── -- 文件 & 编码 -- ───────────────────────────────────────────── opt.encoding = "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" -- ───────────────────────────────────────────── -- 补全 -- ───────────────────────────────────────────── opt.completeopt = { "menuone", "noselect" } -- blink.cmp 推荐配置 -- ───────────────────────────────────────────── -- 折叠(为 nvim-ufo 准备) -- ───────────────────────────────────────────── opt.foldlevel = 99 opt.foldlevelstart = 99 -- 启动时展开所有折叠 opt.foldenable = true -- 启用折叠 -- ───────────────────────────────────────────── -- 其他 -- ───────────────────────────────────────────── opt.conceallevel = 0 -- 不隐藏特殊字符 opt.isfname:append("@-@") -- 文件名识别 @ 符号