能夠選擇須要的功能添加至 ~/.vimrc 打開註釋使之生效。java
" 讓 vim 關閉全部擴展的功能,儘可能模擬 vi 的行爲。 set nocompatible " 默認是8色的,開啓256色支持 set t_Co=256 " 突出顯示當前行,即橫線 set cursorline " 隱藏工具欄 set guioptions-=T " 隱藏菜單欄 set guioptions-=m " 設置在狀態行顯示的信息 set foldcolumn=0 " 不要使用vi的鍵盤模式,而是vim本身的 set nocompatible " 語法高亮 set syntax=on " 去掉輸入錯誤的提示聲音 set noeb " Tab鍵的寬度 set tabstop=4 " 統一縮進爲4 set softtabstop=4 " 歷史記錄數 set history=1000 " 禁止生成臨時文件 set nobackup " 禁止生成臨時文件 set noswapfile " 搜索忽略大小寫 set ignorecase " 搜索逐字符高亮 set hlsearch " 輸入搜索內容時就顯示搜索結果 set incsearch " 高亮顯示匹配的括號 set showmatch " 匹配括號高亮的時間(單位是十分之一秒) set matchtime=1 " 光標移動到buffer的頂部和底部時保持3行距離 set scrolloff=3 " 輸入的命令顯示出來,看的清楚些 set showcmd " 打開狀態欄標尺 set ruler " filetype on " 開始摺疊 " set foldenable " 顯示行號 " set number " 經過使用: commands命令,告訴咱們文件的哪一行被改變過 " set report=0 " 設置魔術 " set magic " 設置當文件被改動時自動載入 " set autoread " 代碼補全 " set completeopt=preview,menu " 容許插件 " filetype plugin on " 共享剪貼板 " set clipboard=unnamed " 從不備份 " set nobackup " make 運行 " set makeprg=g++\ -Wall\ \ % " 自動保存 " set autowrite " set foldmethod=indent " set foldlevel=3 " 在處理未保存或只讀文件的時候,彈出確認 " set confirm " 自動縮進 " set autoindent " set cindent " 把tabs轉換成空格 " set shiftwidth=4 " 不要用空格代替製表符 " set noexpandtab " 在行和段開始處使用製表符 " set smarttab " 行內替換 " set gdefault " 爲C程序提供自動縮進 " set smartindent " 能夠在buffer的任何地方使用鼠標(相似office中在工做區雙擊鼠標定位,鼠標選擇) " set mouse=a " 爲了使代碼風格儘可能保持一致,通常不容許在代碼使用TAB符,而以4個空格代之。以下只在編輯c和cpp文件時實行這種設置了 " autocmd FileType c,cpp set shiftwidth=4 | set expandtab " 在被分割的窗口間顯示空白,便於閱讀 " set fillchars=vert:\ ,stl:\ ,stlnc:\ " 容許backspace和光標鍵跨越行邊界,方向鍵自動換行 " set whichwrap+=<,>,h,l " 個人狀態行顯示的內容(包括文件類型和解碼) " set statusline=%F%m%r%h%w\ [FORMAT=%{&ff}]\ [TYPE=%Y]\ [POS=%l,%v][%p%%]\ %{strftime(\"%d/%m/%y\ -\ %H:%M\")} " set statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%] " 老是顯示狀態行 " set laststatus=2 " 命令行(在狀態行下)的高度,默認爲1,這裏是2 " set cmdheight=2 " 狀態欄定義 " set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ " 映射全選+複製 ctrl+a map <C-A> ggVGY " 選中狀態下 Ctrl+c 複製 vmap <C-c> "+y "新建.c,.h,.sh,.java文件,自動插入文件頭 autocmd BufNewFile *.cpp,*.[ch],*.sh,*.java exec ":call SetTitle()" func SetTitle() if &filetype == 'sh' call setline(1, "#!/bin/bash") call append(line("."), "# File Name: ".expand("%")) call append(line(".")+1, "# Intro: *****") call append(line(".")+2, "# mail: *****@163.com") call append(line(".")+3, "# Created Time: ".strftime("%c")) call append(line(".")+4, "#-------------------------------") call append(line(".")+5, "") else call setline(1, "/*************************************************************************") call append(line("."), " > File Name: ".expand("%")) call append(line(".")+1, " > Intro: *****") call append(line(".")+2, " > Mail: *****@163.com") call append(line(".")+3, " > Created Time: ".strftime("%c")) call append(line(".")+4, " ************************************************************************/") call append(line(".")+5, "") endif if &filetype == 'cpp' call append(line(".")+6, "#include<iostream>") call append(line(".")+7, "using namespace std;") call append(line(".")+8, "") endif if &filetype == 'c' call append(line(".")+6, "#include<stdio.h>") call append(line(".")+7, "") endif endfunc " 新建文件後,自動定位到文件末尾 autocmd BufNewFile * normal G