1. 首先打開vim的配置文件vimrc,並加入如下經常使用的配置:c++
cd ~
mkdir .vim
vim .vimrc
" 設置當文件被改動時自動載入 set autoread " quickfix模式 autocmd FileType c,cpp map <buffer> <leader><space> :w<cr>:make<cr> "代碼補全 set completeopt=preview,menu "容許插件 filetype plugin on "共享剪貼板 set clipboard=unnamedplus "從不備份 set nobackup "make 運行 :set makeprg=g++\ -Wall\ \ % "自動保存 set autowrite set ruler " 打開狀態欄標尺 set cursorline " 突出顯示當前行 set magic " 設置魔術 set guioptions-=T " 隱藏工具欄 set guioptions-=m " 隱藏菜單欄 "set statusline=\ %<%F[%1*%M%*%n%R%H]%=\ %y\ %0(%{&fileformat}\ %{&encoding}\ %c:%l/%L%)\ " 設置在狀態行顯示的信息 set foldcolumn=0 set foldmethod=indent set foldlevel=3 set foldenable " 開始摺疊 " 不要使用vi的鍵盤模式,而是vim本身的 set nocompatible " 語法高亮 set syntax=on " 去掉輸入錯誤的提示聲音 set noeb " 在處理未保存或只讀文件的時候,彈出確認 set confirm " 自動縮進 set autoindent set cindent " Tab鍵的寬度 set tabstop=4 " 統一縮進爲4 set softtabstop=4 set shiftwidth=4 " 不要用空格代替製表符 set noexpandtab " 在行和段開始處使用製表符 set smarttab " 顯示行號 set number " 歷史記錄數 set history=1000 "禁止生成臨時文件 set nobackup set noswapfile "搜索忽略大小寫 set ignorecase "搜索逐字符高亮 set hlsearch set incsearch "行內替換 set gdefault "編碼設置 set enc=utf-8 set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 "語言設置 set langmenu=zh_CN.UTF-8 set helplang=cn " 個人狀態行顯示的內容(包括文件類型和解碼) 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 " 偵測文件類型 filetype on " 載入文件類型插件 filetype plugin on " 爲特定文件類型載入相關縮進文件 filetype indent on " 保存全局變量 set viminfo+=! " 帶有以下符號的單詞不要被換行分割 set iskeyword+=_,$,@,%,#,- " 字符間插入的像素行數目 set linespace=0 " 加強模式中的命令行自動完成操做 set wildmenu " 使回格鍵(backspace)正常處理indent, eol, start等 set backspace=2 " 容許backspace和光標鍵跨越行邊界 set whichwrap+=<,>,h,l " 能夠在buffer的任何地方使用鼠標(相似office中在工做區雙擊鼠標定位) set mouse=a set selection=exclusive set selectmode=mouse,key " 經過使用: commands命令,告訴咱們文件的哪一行被改變過 set report=0 " 在被分割的窗口間顯示空白,便於閱讀 set fillchars=vert:\ ,stl:\ ,stlnc:\ " 高亮顯示匹配的括號 set showmatch " 匹配括號高亮的時間(單位是十分之一秒) set matchtime=1 " 光標移動到buffer的頂部和底部時保持3行距離 set scrolloff=3 " 爲C程序提供自動縮進 set smartindent
2. 選擇molokai的模式的主題,畢竟好看的編輯環境給人賞心悅目,愉快地敲代碼hh。這款主題很不錯的。
git
首先在github上獲取這個顏色的主題,終端輸入命令獲取:github
git clone https://github.com/tomasr/molokai.git
當前目錄下會有一個文件夾:molokai,進入到文件夾內部的color目錄內,有個molokai.vim文件。sql
進入以前建立好的.vim目錄內,在建立一個colors目錄,把剛纔那個顏色主題剪切或複製進來就能夠了。vim
cd .vim
mkdir colors
mv ~/molokai/color/molorkai.vim ./colors
而後在.vimrc文件中加上:app
"===========================選擇molokai的模式============================ "let g:rehash256 = 1 let g:molokai_original = 1 "相較於上一個模式,我的比較喜歡此種模式 highlight NonText guibg=#060606 highlight Folded guibg=#0A0A0A guifg=#9090D0 "set t_Co=256 "set background=dark colorscheme molokai
這樣就ok啦。工具
3. 安裝vundle管理插件。佈局
首先安裝,終端輸入:ui
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
這樣獲取到了bundle後,就能夠在配置文件.vimrc中編輯bundle的特性。在剛剛的.vimrc文件頭部中添加以下語句:this
"====================Vundle配置====================== set nocompatible " be iMproved, required filetype off " required " set the runtime path to include Vundle and initialize set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' " All of your Plugins must be added before the following line call vundle#end() " required filetype plugin indent on " required " To ignore plugin indent changes, instead use: "filetype plugin on " " Brief help " :PluginList - lists configured plugins " :PluginInstall - installs plugins; append `!` to update or just :PluginUpdate " :PluginSearch foo - searches for foo; append `!` to refresh local cache " :PluginClean - confirms removal of unused plugins; append `!` to auto-approve removal " " see :h vundle for more details or wiki for FAQ " Put your non-Plugin stuff after this line
4. 安裝clang插件
Clang-complete是一個爲c/c++而生的代碼自動完成的插件.當咱們輸入.和->後,會給咱們提示。
咱們須要先經過下面的命令安裝其依賴的工具以及庫:
sudo apt-get install libclang-dev clang
而後,經過Vundle安裝它.在~/.vimrc文件中,在call vundle#begin()和call vundle#end()之間,添加這行Plugin 'rip-rip/clang_complete'.
call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' Plugin 'rip-rip/clang_complete' Plugin 'scrooloose/nerdtree' " All of your Plugins must be added before the following line call vundle#end() " required
一樣,咱們須要配置一下這個插件.仍是在~/.vimrc文件中,添加其須要的庫的位置.在此文件的最後,加上這一行:
let g:clang_library_path='/usr/lib/llvm-3.4/lib'
須要注意的是g:clang_library_path這個變量的值,要是你的機器上的安裝路徑,由於版本的緣由,極可能和我這裏的路徑不一樣.你須要替換成你的路徑,通常來講,和上面的路徑相比,只是版本號不一樣.
而後,打開Vim,輸入: PluginInstall,就會自動安裝~/.vimrc這個文件中配置的插件。顯示Done時即安裝ok啦。
5. 安裝插件Nerd tree
以左側欄列出當前文件所在的目錄樹,相似IDE,可大大提升開發效率,實現效果以下:
首先在~/.vimrc文件中,在call vundle#begin()和call vundle#end()之間,添加這行Plugin 'scrooloose/nerdtree'
而後在後面添加其配置文件,以下:
call vundle#begin() " alternatively, pass a path where Vundle should install plugins "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required Plugin 'VundleVim/Vundle.vim' Plugin 'rip-rip/clang_complete' Plugin 'scrooloose/nerdtree' " All of your Plugins must be added before the following line call vundle#end() " required " NerdTree才插件的配置信息 ""將F2設置爲開關NERDTree的快捷鍵 map <f2> :NERDTreeToggle<cr> ""修改樹的顯示圖標 let g:NERDTreeDirArrowExpandable = '+' let g:NERDTreeDirArrowCollapsible = '-' ""窗口位置 let g:NERDTreeWinPos='left' ""窗口尺寸 let g:NERDTreeSize=30 ""窗口是否顯示行號 let g:NERDTreeShowLineNumbers=1 ""不顯示隱藏文件 ""打開vim時若是沒有文件自動打開NERDTree autocmd vimenter * if !argc()|NERDTree|endif let g:NERDTreeHidden=0 ""當NERDTree爲剩下的惟一窗口時自動關閉 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif ""打開vim時自動打開NERDTree autocmd vimenter * NERDTree filetype plugin indent on " required
安裝,打開vim,輸入:PluginInstall,提示done表示安裝成功。
最後介紹下Nerdtree的一些使用方法:
ctrl+w+w 光標在左右窗口切換 ctrl+w+r 切換當前窗口左右佈局 o 打開關閉文件或者目錄,若是是文件的話,光標出如今打開的文件中 O 打開結點下的全部目錄 X 合攏當前結點的全部目錄 x 合攏當前結點的父目錄 i和s水平分割或縱向分割窗口打開文件 u 打開上層目錄 t 在標籤頁中打開 T 在後臺標籤頁中打開 p 到上層目錄 P 到根目錄 K 到同目錄第一個節點 J 到同目錄最後一個節點 m 顯示文件系統菜單(添加、刪除、移動操做) ? 幫助 :q 關閉
ok,以上就是一些關於vim的簡單配置及插件使用,趕快寫個.cpp文件試一試手感把哈哈。