眾所周知,vim被稱為“編譯器之神”翠胰,可見其地位之高。能很好地使用vim自脯,
個人感覺
應(yīng)該是程序員的素養(yǎng)之一之景。
一、macOS安裝vim
1.1 安裝vim
brew install vim
brew install macvim
通過 which vim
查看當前vim的路徑膏潮,如果是 /usr/local/bin/vim
則表示已經(jīng)安裝成功锻狗。否則,編輯 /etc/paths/
為下面這種排序:
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
1.2 配置.vimrc
1.2.1 拷貝vimrc到根目錄下
cp /usr/share/vim/vimrc ~/.vimrc
1.2.2 安裝常用插件管理器
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/Vundle.vim
1.2.3 編輯vimrc
"顯示行號
set nu
"啟動時隱去援助提示
set shortmess=atI
"語法高亮
syntax on
"不需要備份
set nobackup
set nocompatible
"沒有保存或文件只讀時彈出確認
set confirm
"鼠標可用
set mouse=a
"tab縮進
set tabstop=4
set shiftwidth=4
set expandtab
set smarttab
"文件自動檢測外部更改
set autoread
"c文件自動縮進
set cindent
"自動對齊
set autoindent
"智能縮進
set smartindent
"高亮查找匹配
set hlsearch
"顯示匹配
set showmatch
"顯示標尺焕参,就是在右下角顯示光標位置
set ruler
"去除vi的一致性
set nocompatible
"設(shè)置鍵盤映射轻纪,通過空格設(shè)置折疊
nnoremap <space> @=((foldclosed(line('.')<0)?'zc':'zo'))<CR>
""""""""""""""""""""""""""""""""""""""""""""""
"不要閃爍
set novisualbell
"啟動顯示狀態(tài)行
set laststatus=2
"淺色顯示當前行
autocmd InsertLeave * se nocul
"用淺色高亮當前行
autocmd InsertEnter * se cul
"顯示輸入的命令
set showcmd
"被分割窗口之間顯示空白
set fillchars=vert:/
set fillchars=stl:/
set fillchars=stlnc:/
" vundle 環(huán)境設(shè)置
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
"vundle管理的插件列表必須位于 vundle#begin() 和 vundle#end() 之間
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'altercation/vim-colors-solarized'
Plugin 'tomasr/molokai'
Plugin 'vim-scripts/phd'
Plugin 'Lokaltog/vim-powerline'
Plugin 'octol/vim-cpp-enhanced-highlight'
Plugin 'Raimondi/delimitMate'
" 插件列表結(jié)束
call vundle#end()
filetype plugin indent on
" 配色方案
set background=dark
colorscheme torte
"colorscheme molokai
"colorscheme phd
" 禁止顯示菜單和工具條
set guioptions-=m
set guioptions-=T
" 總是顯示狀態(tài)欄
set laststatus=2
" 禁止折行
set nowrap
" 設(shè)置狀態(tài)欄主題風格
let g:Powerline_colorscheme='solarized256'
syntax keyword cppSTLtype initializer_list
" 基于縮進或語法進行代碼折疊
"set foldmethod=indent
set foldmethod=syntax
" 啟動 vim 時關(guān)閉折疊代碼
set nofoldenable
"允許用退格鍵刪除字符
set backspace=indent,eol,start
"編碼設(shè)置
set encoding=utf-8
"共享剪切板
set clipboard=unnamed
" Don't write backup file if vim is being called by "crontab -e"
au BufWrite /private/tmp/crontab.* set nowritebackup nobackup
" Don't write backup file if vim is being called by "chpass"
au BufWrite /private/etc/pw.* set nowritebackup nobackup
1.2.4 安裝插件和移除插件
先找到其在 github.com 的地址,再將配置信息其加入 .vimrc 中的call vundle#begin() 和 call vundle#end() 之間叠纷,最后進入 vim 執(zhí)行:
PluginInstall
刪除插件刻帚,只需將 Plugin '插件地址' 刪除或者注釋掉,再進入 vim 執(zhí)行:
PluginClean
升級插件涩嚣,進入 vim 執(zhí)行:
PluginUpdate
然后執(zhí)行編譯
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer
再執(zhí)行
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm && touch .ycm_extra_conf.py
1.3 配置自動補全
1.3.1 安裝Cmake
brew install CMake
1.3.2 通過 Git Clone 下載 YouCompleteMe崇众。
cd ~/.vim/bundle && git clone https://github.com/Valloric/YouCompleteMe.git YouCompleteMe
1.3.3 安裝 YouCompleteMe
進入最后的步驟,運行 .install.py 腳本安裝語言支持航厚。這里為了方便顷歌,我們選擇安裝所有語言支持,如果需要只安裝特定的語言支持幔睬,可以參考官方文檔眯漩。
cd ~/.vim/bundle/YouCompleteMe && ./install.py --all
執(zhí)行完成后,如果沒有錯誤信息提示麻顶,那么 YouCompleteMe 即安裝配置完成了赦抖。
參考
安裝部分參考
macOS配置vim
YouCompleteMe 安裝配置方法