1、安装brew
2、安装vim
brew install vim brew install macvim
3、复制配置文件
cp /usr/share/vim/vimrc ~/.vimrc
下载plug
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
参考plug.vim里的内容修改.vimrc
重启vim后输入:PlugInstall安装插件
.vimrc
" Configuration file for vim set modelines=0 " CVE-2007-2438 " Normally we use vim-extensions. If you want true vi-compatibility " remove change the following statements set nocompatible " Use Vim defaults instead of 100% vi compatibility set backspace=2 " more powerful backspacing " 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 let skip_defaults_vim=1 set nu set shortmess=atI syntax on set nobackup set confirm set mouse=a set tabstop=4 set shiftwidth=4 set expandtab set smarttab set autoread set cindent set smartindent set hlsearch set showmatch set ruler set novisualbell autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | exe 'cd '.argv()[0] | endif call plug#begin('~/.vim/plugged') " " " Make sure you use single quotes " " " Shorthand notation; fetches https://github.com/junegunn/vim-easy-align Plug 'junegunn/vim-easy-align' " " " Any valid git URL is allowed Plug 'https://github.com/junegunn/vim-github-dashboard.git' " " " Multiple Plug commands can be written in a single line using | separators Plug 'SirVer/ultisnips' | Plug 'honza/vim-snippets' " " " On-demand loading Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } Plug 'tpope/vim-fireplace', { 'for': 'clojure' } " " " Using a non-default branch Plug 'rdnetto/YCM-Generator', { 'branch': 'stable' } " " " Using a tagged release; wildcard allowed (requires git 1.9.2 or above) Plug 'fatih/vim-go', { 'tag': '*' } " " " Plugin options Plug 'nsf/gocode', { 'tag': 'v.20150303', 'rtp': 'vim' } " " " Plugin outside ~/.vim/plugged with post-update hook Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } " " " Unmanaged plugin (manually installed and updated) Plug '~/my-prototype-plugin' " " " Initialize plugin system call plug#end()