众所周知,vim被称为“编译器之神”,可见其地位之高。能很好地使用vim,
个人感觉
应该是程序员的素养之一。
一、macOS安装vim
1.1 安装vim
brew install vim
brew install macvim
通过 which vim
查看当前vim的路径,如果是 /usr/local/bin/vim
则表示已经安装成功。否则,编辑 /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
"设置键盘映射,通过空格设置折叠
nnoremap <space> @=((foldclosed(line('.')<0)?'zc':'zo'))<CR>
""""""""""""""""""""""""""""""""""""""""""""""
"不要闪烁
set novisualbell
"启动显示状态行
set laststatus=2
"浅色显示当前行
autocmd InsertLeave * se nocul
"用浅色高亮当前行
autocmd InsertEnter * se cul
"显示输入的命令
set showcmd
"被分割窗口之间显示空白
set fillchars=vert:/
set fillchars=stl:/
set fillchars=stlnc:/
" vundle 环境设置
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'
" 插件列表结束
call vundle#end()
filetype plugin indent on
" 配色方案
set background=dark
colorscheme torte
"colorscheme molokai
"colorscheme phd
" 禁止显示菜单和工具条
set guioptions-=m
set guioptions-=T
" 总是显示状态栏
set laststatus=2
" 禁止折行
set nowrap
" 设置状态栏主题风格
let g:Powerline_colorscheme='solarized256'
syntax keyword cppSTLtype initializer_list
" 基于缩进或语法进行代码折叠
"set foldmethod=indent
set foldmethod=syntax
" 启动 vim 时关闭折叠代码
set nofoldenable
"允许用退格键删除字符
set backspace=indent,eol,start
"编码设置
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 执行:
PluginInstall
删除插件,只需将 Plugin '插件地址' 删除或者注释掉,再进入 vim 执行:
PluginClean
升级插件,进入 vim 执行:
PluginUpdate
然后执行编译
cd ~/.vim/bundle/YouCompleteMe
./install.sh --clang-completer
再执行
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
执行完成后,如果没有错误信息提示,那么 YouCompleteMe 即安装配置完成了。
参考
安装部分参考
macOS配置vim
YouCompleteMe 安装配置方法
网友评论