" 不與 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。