nmap <F11> :source ~/.vimrc<CR> "n 普通模式 F11映射爲 :source ~/.vimrc winpos 5 5 "windows post set set nocompatible "不與VI兼容(採用vim 本身的操做命令) au GUIEnter * simalt ~x "啓動時最大化 nmap <F8> GoDate:<ESC>:read !date<CR>KJ function! RemovePairs() "設置一個刪除括號的函數,首字母要大寫 let l:line = getline(".") "getline()獲取當前行內容,例如getline(line(".")獲取當前所在行 let l:previous_char = l:line[col(".")-1] "獲取當前光標前一個字符 if index(["{","[","("],l:previous_char)!=-1 "判斷是否爲所列字符 let l:original_pos=getpos(".") execute "normal %" let l:new_pos = getpos(".") if l:original_pos == l:new_pos execute "normal! a\<BS>" return end let l:line2 = getline(".") if len(l:line2)==col(".") execute "normal! v%xa" else execute "normal! v%xi" end else execute "normal! a\<BS>" end endfunction inoremap <BS> <ESC>:call RemovePairs()<CR>a "color github set encoding=utf-8 "使用utf-8編碼 簡寫(enc) set fileencodings=utf-8,gbk,big5,cp936,gb18030,gb23215,utf-16 "若是上一步解碼失敗才嘗試這些 (簡寫 fencs) set fileencoding=utf-8 "把文件編碼轉換爲utf-8 (fenc) set number "顯示行號 "set relativenumber "顯示光標所在行的行號,其它行都爲相對於該行的相對行號 set cursorline "光標所在行高亮 set textwidth=140 "設置行寬,即一行顯示多少個字符 set wrap "自動折行,即太長的行分紅幾行顯示 ,set nowap 關閉折行 set linebreak "只有遇到制定的符號(好比空格.連詞號.其它標點符號),才發生折行 set wrapmargin=2 "當前折行處與編輯窗口的右邊緣之間空出的字符數 filetype on "文件檢查 set t_Go=256 "啓用256色 "hi comment ctermfg=1 "ctermfg 前景色 ctermbg 背景色 colorscheme desert" 配色方案 elflord ron peachpuff desert morning evening default murphy pablo shine blue darkblue delek koehler slate torte zellner hi Normal guibg=BLACK hi Search term=standout ctermfg=15 ctermbg=242 "hi 顏色設置 Search 搜索 ctermfg 背景色 ctermbg 前景色 syntax on set showcmd "在底部顯示當前處於命令模式仍是插入模式 set mouse=a "支持使用鼠標 set cindent " /*set atuoindent 設置自動縮進 可選 autoindent cindent indentexpr*/ set smartindent "/*智能對其方式*/ set ai "設置自動縮進 set expandtab " #set tab character auto turn space 設置tab自動轉換爲空格 set tabstop =2 "按下tab鍵時,Vim顯示的空格數 set shiftwidth=4 "set cindent shiftwidth=4 " #設置自動縮進長度爲4個空格 "set autoindent shiftwidth=2 "設置縮進字符個數 set mouse=a "設置那些模式使用鼠標 set backspace=2 "設置Backspace 和Delete的靈活程度 2爲沒有限制 "set noweap 不自動換行 inoremap { {}<ESC>i<CR><ESC>V<>>O "i:insert pattern nore:非遞歸模式 map 映射 這句的功能是當輸入{時 VIM自動輸入後面的命令 inoremap ( ()<ESC>i inoremap [ []<ESC>i inoremap " ""<ESC>i inoremap ' ''<ESC>i "auto remove a pair character ""function! Removepairs() "let l:line=getline(".") ""let set softtabstop=2 "tap 轉換爲多少個空格 set showmatch "光標遇到圓括號,方括號,大括號,自動高亮對應的另外一個圓括號,方括號,大括號 set hlsearch "搜索時高亮配備集國 set incsearch " 輸入搜索模式時,每輸入一個字符,就自動跳到第一個配備的結果 set ignorecase "搜索時忽略大小寫 set smartcase "若是同時打開了ignorecase,那麼對於只有一個大寫字母的搜索詞,將大小寫敏感,其它狀況不敏感,例如:搜索Test時,將不配備test, "搜索test時,將配備Test "set spell spelllang=en_us "打開英語單詞的拼寫檢查 set backup "建立備份文件,默認狀況,文件保存時,會額外建立備份文件,它的文件名是在原文件的末尾,再添加一個波浪號(~);nobackup則反過來 set swapfile "建立交換文件,交換文件主要用於系統崩潰時恢復文件,文件名的開頭是. 結尾是.swp ; noswapfile則反過來 set undofile "保留撤銷歷史,將撤銷歷史保存到一個文件裏,繼續存在,關閉文件後下次編輯,能夠撤銷賞次操做,文件名以un~開頭,和原文件在一塊兒的隱藏文件 set backupdir=/home/share set directory=~/.vim/.share/.swp// set undodir=~/.home/.share/.undo// "上面3行設置備份文件,交換文件,操做歷史文件的保存位置,結尾的//表示生成的文件的絕對路徑,路ingzhong用%替換目錄分格符,這樣能夠防止文件重名 set laststatus=2 "是否顯示狀態欄,0 不顯示,1 只在多窗口顯示,2顯示 set autochdir "自動切換工做目錄,在在個VIM會話中打開多個爲年間的狀況,默認工做目錄是打開的第一個文件的目錄 set noerrorbells "出錯時不要發出響聲 set visualbell "出錯時發出錯誤提示 set history=1000 "VIM須要記住多少次歷史操做 set autoread "打開文件監視,若是編輯過程當中文件發生外部改變,就會發出提示 set wildmenu " set wildmode=longest:list,full "上面兩行,在命令模式下,底部操做指令TAB鍵會自動補全,第一次按TAB,會顯示配備的指令清單,第二次按TAB,會依次選擇各個指令 set guioptions-=T " #GUI set; T:去掉Gvim中的工具欄;t:去掉GVIM中可撕下的菜單 guioptions=egmrLtT set vb t_vb= set ruler "在狀態欄顯示光標的當前位置 set incsearch if has("vms") set nobackup else set backup endif