vim中設置自動在=+-之類的運算符號左右兩邊加上空格。原版的vim不帶這個功能,寫出的代碼例如z=x+y,不美觀,很多編譯器(如VS)能夠自動在符號兩邊加上空格,如z = x + y,看起來比較美觀。
只要在.vimrc里面加入如下代碼:
"設置= + - * 前后自動空格 "設置,后面自動添加空格 if exists("g:equ") :inoremap = <c-r>=EqualSign('=')<CR> :inoremap + <c-r>=EqualSign('+')<CR> :inoremap - <c-r>=EqualSign('-')<CR> :inoremap * <c-r>=EqualSign('*')<CR> :inoremap / <c-r>=EqualSign('/')<CR> :inoremap > <c-r>=EqualSign('>')<CR> :inoremap < <c-r>=EqualSign('<')<CR> :inoremap , ,<space> endif function! EqualSign(char) if a:char =~ '=' && getline('.') =~ ".*(" return a:char endif let ex1 = getline('.')[col('.') - 3] let ex2 = getline('.')[col('.') - 2] if ex1 =~ "[-=+><>\/\*]" if ex2 !~ "\s" return "\<ESC>i".a:char."\<SPACE>" else return "\<ESC>xa".a:char."\<SPACE>" endif else if ex2 !~ "\s" return "\<SPACE>".a:char."\<SPACE>\<ESC>a" else return a:char."\<SPACE>\<ESC>a" endif endif endif
就可以了。另外還可以加入如下代碼,增加vim的便利性:
"預防手誤的殺招 nnoremap : : cnoremap Q! q! command Wq wq command Q q command WQ wq set nu "代碼顯示行號 syntax on "關鍵詞高亮顯示 set cindent "c語法自動縮進 set autoindent "新行自動縮進 set shiftwidth=4 "縮進寬度4 set tabstop=4 "tab鍵寬度4 set softtabstop=4 "制表符寬度4