" ============================================================================ " Vim configuration file " ============================================================================ " Author: ZHONG, JIANQUN " Created: 2024/11/18 " Last modified: 2024/11/18 " Permalink: https://dl.jianqun.me/dotfiles/vim/vimrc.txt " ============================================================================ syntax on " 是否开启语法高亮模式 colorscheme lunaperche " 指定语法高亮的色彩方案 filetype plugin on " 是否开启文件类型检测 set noallowrevins " 是否允许在 Insert 与 Cmdline 模式使用 默认: off set ambiwidth=single " 指定东亚模糊宽度类字符的宽度 默认: 'single' set noarabic " 是否开启阿拉伯语的书写方式 (从右到左) 默认: off set arabicshape " 是否开启阿拉伯语的字形重塑 默认: on set autochdir " 是否自动切换当前工作目录为当前文件所在目录 默认: off set autoindent " 是否开启自动缩进 默认: off set autoread " 是否在文件被外部修改时自动重新读取 默认: off set noautowrite " 是否在执行 :next :stop 等命令时自动保存文件 默认: off set noautowriteall " 是否在执行 :edit :quit 等命令时自动保存文件 默认: off set background=dark " 指定背景色 (dark/light) set backspace=indent,eol,start " 指定退格键的行为 默认: 'indent,eol,start' set nobackup " 是否在保存文件时创建备份文件 默认: off set balloondelay=600 " 指定鼠标悬停气泡提示的延迟 (毫秒) 默认: 600 set noballooneval " 是否在 GUI 开启鼠标悬停气泡提示 默认: off set noballoonevalterm " 是否在 Terminal 开启鼠标悬停气泡提示 默认: off set balloonexpr= " 指定气泡提示文本的表达式 默认: '' set belloff=all " 指定要关闭响铃提示的事件 默认: '' set nobinary " 是否开启二进制编辑模式 默认: off set nobomb " 是否在文件开头添加 BOM 标记 默认: off set breakat=\ ^I!@*-+;:,./? " 指定在开启 linebreak 时的可断行字符 默认: '\ ^I!@*-+;:,./?' set nobreakindent " 是否在自动换行时保持缩进层级 默认: off set breakindentopt= " 指定在自动换行时保持缩进层级的设定选项 默认: '' set browsedir=buffer " 指定在 GUI 打开文件浏览器的初始目录 默认: 'last' set cdhome " 是否在执行未指定路径的 :cd 命令时切换到 home 目录 默认: off set nocindent " 是否开启 C 语言风格的缩进 默认: off set clipboard=unnamed,unnamedplus " 指定剪贴板的寄存器 (仅 GUI) 默认: 'autoselect,exclude:cons\|linux' set cmdheight=1 " 指定命令行的高度 (行) 默认: 1 set cmdwinheight=7 " 指定命令行窗口的高度 (行) 默认: 7 set colorcolumn= " 指定垂直参考线的位置 默认: '' set nocompatible " 是否开启 vi 兼容模式 默认: on set confirm " 是否在执行某些危险操作时进行确认 默认: off set copyindent " 是否在自动换行时保持缩进字符一致 默认: off set nocursorbind " 是否开启多窗口光标同步移动 默认: off set nocursorcolumn " 是否高亮光标列 默认: off set cursorline " 是否高亮光标行 默认: off set cursorlineopt=number,line " 指定高亮光标行的设定选项 默认: 'number,line' set nodelcombine " 是否逐一删除组合字符的每个部分 默认: off set nodigraph " 是否在 Insert 模式开启二合字母输入 默认: off set display=lastline " 指定末行文本过长时的显示方式 默认: '' set eadirection=both " 指定均等调整分割窗口的方向 默认: 'both' set noedcompatible " 是否开启 ed 兼容模式 默认: off set emoji " 是否将 Emoji 视为宽字符 默认: on set encoding=utf-8 " 指定 Vim 使用的字符编码 默认: 'utf-8' set equalalways " 是否均等调整分割窗口的大小 默认: on set noerrorbells " 是否在出错时响铃提示 默认: off set esckeys " 是否在 Insert 模式识别以 开头的功能键 默认: on set expandtab " 是否将 插入的制表符替换成空格符 默认: off set noexrc " 是否允许加载当前目录的 .vimrc .exrc .gvimrc 文件 默认: off set fillchars=vert:\ ,fold:-,eob:~,lastline:@ " 指定填充窗口外观的字符 默认: 'vert:\|,fold:-,eob:~,lastline:@' set foldcolumn=1 " 指定折叠标记列的宽度 (列) 默认: 0 set foldenable " 是否开启代码折叠 默认: on set foldmethod=manual " 指定代码折叠的方式 默认: manual set guicursor=a:block-Cursor-blinkon0 " 指定 GUI 的光标样式 默认: 'n-v-c:block-Cursor/lCursor,...' set guifont=Sarasa\ Fixed\ CL:h12,Sarasa\ Fixed\ SC:h12,* " 指定 GUI 的常规字体 默认: '' set guifontwide= " 指定 GUI 的宽字符字体 默认: '' set guioptions=ce " 指定 GUI 的设定选项 默认: 'egmrLtT' set guitablabel=\ %N:\ %t\ %m%r\ " 指定 GUI 的标签行样式 默认: '' set hidden " 是否允许通过隐藏缓冲区来快速切换文件 默认: off set nohkmap " 是否开启希伯来语的键盘映射 默认: off set nohkmapp " 是否开启希伯来语音标的键盘映射 默认: off set nohlsearch " 是否高亮搜索结果 默认: off set ignorecase " 是否在执行搜索时忽略大小写 默认: off set incsearch " 是否在执行搜索时进行增量查找 默认: off set noinsertmode " 是否将 Insert 模式设为 Vim 的默认模式 默认: off set laststatus=2 " 指定状态行的显示方式 默认: 1 set nolinebreak " 是否在自动换行时从 breakat 指定的可断行字符处换行 默认: off set list " 是否开启 List 模式显示不可见字符 默认: off set listchars=tab:>~ " 指定 List 模式不可见字符的可视化符号 默认: 'eol:$' set matchpairs=(:),{:},[:],<:> " 指定配对的括号 默认: '(:),{:},[:]' set nomodeline " 是否检查文件内的 Vim 选项 (模式行) 默认: on set more " 是否开启分页显示输出 默认: on set mouse=nv " 指定允许使用鼠标的模式 默认: '' set nomousefocus " 是否在鼠标悬停窗口时自动聚焦 (仅 GUI) 默认: off set nomousehide " 是否在输入字符时隐藏鼠标指针 (仅 GUI) 默认: on set mousemodel=extend " 指定鼠标的行为模型 默认: 'extend' set number " 是否在行首显示行号列 默认: off set numberwidth=1 " 指定行号列的宽度 默认: 4 set nopaste " 是否开启粘贴模式 默认: off set pastetoggle= " 指定开关粘贴模式的快捷键 默认: '' set norelativenumber " 是否使用相对行号 默认: off set renderoptions=type:directx " 指定文本渲染器及其设定选项 (仅 Windows GUI) 默认: '' set norevins " 是否在 Insert 模式开启反向输入 默认: off set norightleft " 是否开启文字从右到左的显示模式 默认: off set rightleftcmd=search " 指定命令行文字需要从右到左显示的命令 默认: 'search' set ruler " 是否开启标尺指示器 默认: off set noscrollbind " 是否开启多窗口同步滚动 默认: off set scrolloff=1 " 指定光标移动时与窗口上下边界的偏移量 (行) 默认: 0 set scrollopt=ver,jump " 指定多窗口同步滚动的设定选项 默认: 'ver,jump' set shiftround " 是否在缩进时取整到 shiftwidth 的倍数 默认: off set shiftwidth=2 " 指定每个缩进层级的空格符数量 默认: 8 set showbreak= " 指定自动换行的行首标记符 默认: '' set showcmd " 是否开启命令指示器 默认: on set showcmdloc=statusline " 指定命令指示器的位置 默认: 'last' set showmatch " 是否高亮闭合的括号 默认: off set showmode " 是否开启模式指示器 默认: on set showtabline=1 " 指定标签行的显示方式 默认: 1 set sidescrolloff=1 " 指定光标移动时与窗口左右边界的偏移量 (列) 默认: 0 set signcolumn=auto " 指定标记列的显示方式 默认: 'auto' set smartcase " 是否在执行搜索时智能忽略大小写 默认: off set nosmartindent " 是否开启智能缩进 默认: off set smarttab " 是否开启智能 默认: off set nosmoothscroll " 是否开启基于屏幕行滚动 默认: off set softtabstop=-1 " 指定 插入的空格符数量 默认: 0 set nospell " 是否开启拼写检查 默认: on set splitbelow " 是否将水平分割的新窗口置于下方 默认: off set splitkeep=cursor " 指定在调整分割窗口时保持内容的位置 默认: 'cursor' set splitright " 是否将垂直分割的新窗口置于右侧 默认: off set nostartofline " 是否在跳转位置时将光标移动到行首 默认: on set statusline= " 指定状态行样式 默认: '' set tabline= " 指定标签行样式 默认: '' set tabstop=2 " 指定制表符的宽度 (列) 默认: 8 set notildeop " 是否将波浪号 (~) 作为操作符 默认: off set notitle " 是否将 titlestring 作为窗口标题 默认: off set titlestring= " 指定窗口标题样式 默认: '' set noundofile " 是否在保存文件时创建撤销文件 默认: off set novisualbell " 是否使用闪烁代替响铃提示 默认: off set whichwrap=b,s " 指定允许光标在行首或行尾跨行回绕的按键 默认: 'b,s' set wildchar= " 指定命令行自动补全的触发键 默认: set wildmenu " 是否开启命令行自动补全的候选菜单 默认: off set wildmode=full " 指定命令行自动补全的模式 默认: 'full' set nowrap " 是否开启自动换行 默认: on set nowrapscan " 是否在执行搜索时进行循环查找 默认: on if has("gui_running") set columns=120 " 指定 Vim 窗口的水平宽度 (列) 默认: 80 set lines=30 " 指定 Vim 窗口的垂直高度 (行) 默认: 24 set showtabline=2 " 指定标签行的显示方式 默认: 1 set title " 是否将 titlestring 作为窗口标题 默认: off set titlestring=%F\ %m%r\ -\ Vim " 指定窗口标题样式 默认: '' endif