Vimrc配置文件

Vimrc配置文件

_

set nocompatible            " 关闭 Vi 兼容模式
filetype on                 " 开启文件类型检测
filetype plugin on          " 加载文件类型插件
filetype indent on          " 加载文件类型缩进

syntax enable              " 开启语法高亮
syntax on                  " 开启语法高亮

set number                 " 显示行号
set relativenumber         " 显示相对行号(可选)

set autoindent             " 自动缩进
set smartindent            " 智能缩进
set cindent                " C风格缩进

set tabstop=4              " Tab显示为4个空格
set shiftwidth=4           " 自动缩进使用4个空格
set expandtab              " 将Tab转换为空格
set softtabstop=4          " 编辑时Tab键插入4个空格

set showmatch              " 显示匹配的括号
set cursorline             " 高亮当前行
set scrolloff=5            " 光标上下保留5行

set hlsearch               " 高亮搜索结果
set incsearch              " 实时搜索
set ignorecase             " 搜索忽略大小写
set smartcase              " 智能大小写

set encoding=utf-8         " 使用UTF-8编码
set fileencodings=utf-8,gbk " 文件编码检测顺序

set backspace=indent,eol,start " 正常使用退格键
set mouse=a                " 启用鼠标

set hidden                 " 允许切换buffer而不保存
set autowrite              " 自动保存

set history=1000           " 历史命令记录数
set undolevels=1000        " undo次数限制

set wildmenu               " 命令行补全以菜单形式显示
set wildmode=longest:full,full

set clipboard=unnamedplus  " 共享系统剪贴板(Linux)
" set clipboard=unnamed     " 共享系统剪贴板(macOS)


colorscheme desert         " 设置颜色主题
set background=dark        " 背景色为暗色

set t_Co=256              " 启用256色
set termguicolors         " 启用真彩色(如果终端支持)

set showcmd               " 显示当前输入的命令
set laststatus=2          " 总是显示状态栏
set ruler                 " 显示光标位置

set wrap                  " 自动换行
set linebreak             " 在单词边界换行
set textwidth=0           " 不限制行宽
" jk 退出插入模式
inoremap jk <Esc>
" 使用分号作为冒号(更快)
nnoremap ; :

" 使用空格作为leader键
let mapleader = " "

" 快速保存
nnoremap <leader>w :w<CR>

" 快速退出
nnoremap <leader>q :q<CR>
nnoremap <leader>wq :wq<CR>
nnoremap <leader>qa :qa<CR>

" 快速切换窗口
nnoremap <C-h> <C-w>h
nnoremap <C-j> <C-w>j
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l

" 调整窗口大小
nnoremap <C-Up> <C-w>+
nnoremap <C-Down> <C-w>-
nnoremap <C-Left> <C-w><
nnoremap <C-Right> <C-w>>

" 清除搜索高亮
nnoremap <silent> <leader>/ :nohlsearch<CR>

" 快速打开vimrc
nnoremap <leader>ev :vsplit $MYVIMRC<CR>
nnoremap <leader>sv :source $MYVIMRC<CR>

" 快速跳转到行首行尾
nnoremap H ^
nnoremap L $

" 标签页操作
nnoremap <leader>tn :tabnew<CR>
nnoremap <leader>tc :tabclose<CR>
nnoremap <leader>th :tabprev<CR>
nnoremap <leader>tl :tabnext<CR>




" 自动重新加载外部修改的文件
set autoread
autocmd FocusGained,BufEnter * checktime

" 高亮行尾多余空格
highlight ExtraWhitespace ctermbg=red guibg=red
match ExtraWhitespace /\s\+$/
autocmd BufWinEnter * match ExtraWhitespace /\s\+$/
autocmd InsertEnter * match ExtraWhitespace /\s\+\%#\@<!$/
autocmd InsertLeave * match ExtraWhitespace /\s\+$/
autocmd BufWinLeave * call clearmatches()

" 自动补全括号
inoremap ( ()<Left>
inoremap [ []<Left>
inoremap { {}<Left>
inoremap ' ''<Left>
inoremap " ""<Left>

" 保存时自动删除行尾空格
autocmd BufWritePre * %s/\s\+$//e

BlogsClub - 博客所有权认证 2026-01-04

评论区