mirror of
https://github.com/d0zingcat/dotfiles.git
synced 2026-05-13 15:09:34 +00:00
noice's cmdline floating window was causing visible flicker when typing :wq and other commands. Disable noice cmdline+messages entirely and restore cmdheight=1 so native cmdline handles input stably. noice still handles LSP and notifications via snacks. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
87 lines
3.5 KiB
Lua
87 lines
3.5 KiB
Lua
-- options.lua - 基本编辑器选项设置
|
||
|
||
local opt = vim.opt
|
||
local g = vim.g
|
||
|
||
-- UI设置
|
||
opt.termguicolors = true -- 使用终端真彩色
|
||
opt.number = true -- 显示行号
|
||
opt.relativenumber = true -- 相对行号
|
||
opt.cursorline = true -- 高亮当前行
|
||
opt.signcolumn = "yes" -- 始终显示标记列(避免每次出现符号时布局跳动)
|
||
opt.showmode = false -- 不显示模式,由状态栏插件替代
|
||
opt.laststatus = 3 -- 全局状态栏
|
||
opt.cmdheight = 1 -- 命令行高度
|
||
opt.scrolloff = 10 -- 光标上下保留的行数
|
||
opt.sidescrolloff = 10 -- 光标左右保留的列数
|
||
opt.wrap = false -- 不自动换行
|
||
opt.linebreak = true -- 如果wrap开启,在单词边界处换行
|
||
opt.list = true -- 显示不可见字符
|
||
opt.listchars = { -- 设置不可见字符的显示方式
|
||
tab = "» ",
|
||
trail = "·",
|
||
extends = "›",
|
||
precedes = "‹",
|
||
nbsp = "␣",
|
||
}
|
||
opt.fillchars:append({ -- 分隔符符号设置
|
||
vert = "│", -- 窗口分隔符
|
||
fold = "⠀", -- 折叠
|
||
eob = " ", -- 缓冲区末尾的空行
|
||
diff = "╱", -- 差异模式的删除行
|
||
})
|
||
|
||
-- 编辑设置
|
||
opt.tabstop = 4 -- Tab宽度
|
||
opt.softtabstop = 4 -- 编辑时的Tab宽度
|
||
opt.shiftwidth = 4 -- 缩进宽度
|
||
opt.expandtab = true -- 使用空格替代Tab
|
||
opt.smartindent = true -- 智能缩进
|
||
opt.autoindent = true -- 自动缩进
|
||
opt.textwidth = 120 -- 文本宽度
|
||
opt.formatoptions = "jcroqlnt" -- 格式化选项
|
||
opt.foldenable = false
|
||
opt.foldcolumn = "0"
|
||
opt.foldmethod = "manual"
|
||
|
||
-- 搜索设置
|
||
opt.ignorecase = true -- 搜索忽略大小写
|
||
opt.smartcase = true -- 如果搜索包含大写字母,则区分大小写
|
||
opt.hlsearch = true -- 高亮搜索结果
|
||
opt.incsearch = true -- 增量搜索
|
||
|
||
-- 性能设置
|
||
opt.hidden = true -- 允许切换未保存的缓冲区
|
||
opt.history = 1000 -- 历史记录数
|
||
opt.updatetime = 100 -- 更新时间(ms)
|
||
opt.timeout = true -- 启用超时
|
||
opt.timeoutlen = 300 -- 键映射超时时间(ms)
|
||
opt.ttimeoutlen = 10 -- 键码超时时间(ms)
|
||
opt.synmaxcol = 240 -- 最大语法分析列数
|
||
|
||
-- 文件设置
|
||
opt.fileencoding = "utf-8" -- 文件编码
|
||
opt.backup = false -- 不创建备份文件
|
||
opt.swapfile = false -- 不创建交换文件
|
||
opt.undofile = true -- 启用持久撤销
|
||
opt.undodir = vim.fn.stdpath("data") .. "/undo" -- 撤销文件目录
|
||
|
||
-- 鼠标设置
|
||
opt.mouse = "a" -- 启用鼠标
|
||
|
||
-- 分隔符设置
|
||
opt.splitbelow = true -- 新的水平分割窗口在下面
|
||
opt.splitright = true -- 新的垂直分割窗口在右边
|
||
|
||
-- 通用设置
|
||
opt.clipboard = "unnamedplus" -- 使用系统剪贴板
|
||
opt.completeopt = "menu,menuone,noselect" -- 补全选项
|
||
opt.pumheight = 10 -- 弹出菜单高度
|
||
opt.confirm = true -- 显示确认对话框
|
||
opt.autoread = true -- 自动重新加载文件
|
||
-- 减少消息噪音(W=写入/I=intro/c=补全消息/C=扫描消息)
|
||
opt.shortmess:append("WIcC")
|
||
|
||
-- 加载 .nvimrc, .exrc 等本地配置
|
||
opt.exrc = true -- 启用 .exrc
|
||
opt.secure = true -- 限制本地配置中的命令 |