" 不与 Vi 兼容(采用 Vim 自己的操作命令)"
set nocompatible
" 在底部显示,当前处于命令模式还是插入模式。 "
set showmode
" set mouse=a 支持使用鼠标 "
" tab长度为 4 "
set tabstop=4
" 使得按退格键时可以一次删掉 4 个空格 "
set softtabstop=4
" 显示行号 "
set number
" 自动缩进 "
set autoindent
" 光标所在的当前行高亮 "
set cursorline
" 打开语法高亮。自动识别代码,使用多种颜色显示。"
set syntax=on
"打开状态栏标尺"
set ruler
" 搜索忽略大小写"
set ignorecase
" 搜索时高亮显示匹配结果"
set hlsearch
" 输入搜索模式时,每输入一个字符,就自动跳到第一个匹配的结果。"
" set incsearch "
" 编码设置为utf-8"
set encoding=utf-8
set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936
" 光标遇到圆括号、方括号、大括号时,自动高亮对应的另一个圆括号、方括号和大括号。 "
set showmatch
" 匹配括号高亮的时间(单位是十分之一秒)"
set matchtime=1
" 我的状态行显示的内容(包括文件类型和编码)%F 文件路径 %{&ff}"
" 文件系统(dos,unix..) 表示空格(空格键,[,"等前面需要加转义)"
"" %p%% 光标所在占总文件的百分比 "
set statusline=%F [%{&ff}][Type=%Y][POS=%l,%v][%p%%]%{strftime("%Y-%m-%d %H:%M")}
" 总是显示状态行 "
set laststatus=2
" 自动补全(, [, {, ' 以及" "
:inoremap ( ()<ESC>i
:inoremap [ []<ESC>i
:inoremap { {}<ESC>i
:inoremap ' ''<ESC>i
:inoremap " ""<ESC>i
" vim 头部自动生成 "
func SetTitle()
if &filetype == 'sh'
call setline(1,"#! /bin/sh")
call append(1, "")
call append(2, "#=================================")
call append(3, "#")
call append(4, "# 创 建 者: liushijun")
call append(5, "# 创建日期: " .strftime("%Y-%m-%d"))
call append(6, "# 描 述: ")
call append(7, "#")
call append(8, "#=================================")
endif
endfunc
autocmd bufNewFile *.sh exec ":call SetTitle()"
Vim 的全局配置一般在/etc/vim/vimrc或者/etc/vimrc,对所有用户生效。
用户个人的配置在~/.vimrc。