" 设置行号
set number
" 不与vi兼容
set nocompatible
" 语法高亮
syntax on
" 模式显示
set showmode
set showcmd
" 支持鼠标
set mouse=a
" utf-8 编码
set encoding=utf-8
" 文件类型检查
filetype indent on
" 按下回车后,下一行的缩进自动跟上一行的缩进保持一致
set autoindent
" 按tab键时,Vim 显示的空格数
set tabstop=2
" 在文本上按 tab(增加一级缩进)
set shiftwidth=4
" 自动将tab 转换为空格
set expandtab
" tab 转换为多少个空格
set softtabstop=4
" 显示相对行号
set relativenumber
" 光标所在行高亮
set cursorline
" 设置行宽
set textwidth=80
" 自动折行
set wrap
" 只有遇到指定的符号,才发生折行
set linebreak
" 指定折行处与编辑窗口的右边缘之间空出的字符数
set wrapmargin=2
" 垂直滚动时,光标距离行首和行尾的位置
set scrolloff=5
" 水平滚动时,光标距离行首和行尾的位置
set sidescrolloff=15
" 是否显示状态栏(0代表不显示,1表示只在多窗口时显示,2表示显示
set laststatus=2
" 在状态栏显示光标当前位置
set ruler
" 不创建备份文件
set nobackup
" 不创建交换文件,交换文件主要用于系统崩溃时恢复文件
set noswapfile
" 保留撤销历史
set undofile
" 历史记录次数
set history=1000
" 监视文件变化,当外部编辑文件时,获取提示
set autoread
" 在命令模式下,底部操作命令按下tab键自动补全
set wildmenu
set wildmode=longest:list,full
" 设置配色 color
colorscheme blue
" ####################### 快捷键配置 ################################
let mapleader=";"
" 映射esc为jj
inoremap jj <esc>
" 保存
nmap <Leader>s :w<CR>
nmap <Leader>ss :w!<CR>
" 退出
nmap <Leader>q :q<CR>
nmap <Leader>qq :q!<CR>
nmap <Leader>wq :wq<CR>