vim 配置
"================ 基础设置 ================
set nocompatible " 禁用 vi 兼容模式
filetype plugin indent on " 启用文件类型检测
syntax enable " 语法高亮
"================ 显示设置 ================
set number " 显示行号
set relativenumber " 相对行号
set cursorline " 高亮当前行
set showcmd " 显示输入命令
set laststatus=2 " 总是显示状态栏
set title " 显示文件名
"================ 缩进设置 ================
set autoindent " 自动缩进
set smartindent " 智能缩进
set expandtab " 默认用空格代替制表符
" 不同文件类型的缩进设置
autocmd FileType make setlocal noexpandtab tabstop=8 shiftwidth=8 " Makefile 必须用真实制表符
autocmd FileType python setlocal tabstop=4 shiftwidth=4 softtabstop=4
autocmd FileType javascript,html,css setlocal tabstop=2 shiftwidth=2 softtabstop=2
autocmd FileType c,cpp,java setlocal tabstop=4 shiftwidth=4 softtabstop=4
"================ 搜索设置 ================
set hlsearch " 高亮搜索结果
set ignorecase " 搜索忽略大小写
set smartcase " 包含大写时区分大小写
"================ 编辑体验 ================
set backspace=indent,eol,start " 更自然的退格键行为
set wildmenu " 命令模式自动补全
set clipboard=unnamedplus " 共享系统剪贴板
set mouse=a " 启用鼠标支持
"================ 文件管理 ================
set encoding=utf-8 " 默认编码
set nobackup " 禁用备份文件
set nowritebackup
set noswapfile " 禁用交换文件
"================ 快捷键映射 ================
let mapleader = "," " 定义 Leader 键
" 快速保存/退出
nmap <leader>w :w<CR>
nmap <leader>q :q<CR>
" 标签页操作
nmap <leader>tn :tabnew<CR>
nmap <leader>tc :tabclose<CR>
" 清除搜索高亮
nmap <silent> <leader>/ :nohlsearch<CR>
" 设置主题
set background=dark