本身的vim配置

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
相關文章
相關標籤/搜索