" 设置相关: 查看设置的值: `:set opt?`, 示例: `:set mouse?`; 
" 使用 `vim --version` 可查看配置文件路径, `:scriptname` 可查看加载的脚本
set nocompatible

" indentation option
set expandtab
set tabstop=4      " width
set shiftwidth=4   " same to tabstop
set softtabstop=-1 " use value of shiftwidth
set smarttab       " always use shiftwidth

" 禁用 q 的 record, 因为其容易被 ZQ 误触发
noremap q <Nop>

" Vb 命令进入 visual block, 因为 windows 下终端工具 C-v 默认是粘贴
command! Vb normal! <C-v>

" search
set hlsearch      " 高亮搜索
set incsearch     " 增量搜索, 而不是 enter 才搜索

" 括号匹配
set showmatch     " 输入右括号时跳转显示左括号, 屏幕之外的话则不会
set matchtime=1   " showmatch 效果时间, 从默认的 500ms 改为 1/10s

" mouse
if has('mouse')
  set mouse=a
endif

" status line, doc: `https://vimdoc.sourceforge.net/htmldoc/options.html#'statusline'`
set noruler           " statusline 中已经显示了位置, 不需要 ruler
set laststatus=2      " 总是显示状态行
set statusline=       " reset statusline
set statusline+=\ %f  " 文件地址
set statusline+=%m    " Modified flag
set statusline+=%r    " Readonly flag
set statusline+=%=    " right aligned
set statusline+=%y    " file type
set statusline+=\ %{&fileencoding?&fileencoding:&encoding}
set statusline+=\[%{&fileformat}\]
set statusline+=\ %p%%\ %l:%v " 位置: 行号占总数百分比 行号:列号
" status line color
hi statusline ctermfg=8 ctermbg=15

" --------------- end ---------------