curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
1. Install dependencies on macOS
brew install cmake
2. Configure for C-family
./install.py --clangd-completer
| " Specify a directory for plugins | |
| " - Avoid using standard Vim directory names like 'plugin' | |
| call plug#begin('~/.vim/plugged') | |
| " Make sure you use single quotes | |
| Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeToggle' } | |
| Plug 'scrooloose/syntastic' | |
| Plug 'scrooloose/nerdcommenter' | |
| Plug 'valloric/youcompleteme' | |
| Plug 'ctrlpvim/ctrlp.vim' | |
| " Plug 'Shougo/deoplete.nvim' | |
| " Plug 'roxma/nvim-yarp' | |
| " Plug 'roxma/vim-hug-neovim-rpc' | |
| " Languages | |
| " Plug 'pangloss/vim-javascript' | |
| " Plug 'mxw/vim-jsx' | |
| " Plug 'apple/swift' | |
| " Plug 'keith/swift.vim' | |
| " Plug 'msanders/cocoa.vim' | |
| " Plug 'b4winckler/vim-objc' | |
| Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' } | |
| Plug 'vim-airline/vim-airline' | |
| Plug 'vim-airline/vim-airline-themes' | |
| Plug 'lifepillar/vim-solarized8' | |
| Plug 'Yggdroot/indentLine' | |
| Plug 'chiel92/vim-autoformat' | |
| " Initialize plugin system | |
| call plug#end() | |
| " OSX stupid backspace fix | |
| set backspace=indent,eol,start | |
| """"""""""""""""""""""""""""""""""""" | |
| " Configuration Section | |
| """"""""""""""""""""""""""""""""""""" | |
| " FileType | |
| " au BufNewFile,BufRead *.m set filetype=objc | |
| set showcmd | |
| " Show linenumbers | |
| set number | |
| set relativenumber | |
| augroup numbertoggle | |
| autocmd! | |
| autocmd BufEnter,FocusGained,InsertLeave * set relativenumber | |
| autocmd BufLeave,FocusLost,InsertEnter * set norelativenumber | |
| augroup END | |
| set ruler | |
| " Set proper tabs | |
| set tabstop=4 | |
| set shiftwidth=4 | |
| set smarttab | |
| set expandtab | |
| set clipboard=unnamed | |
| " Always display the status line | |
| set laststatus=2 | |
| set path+=** | |
| set wildmenu | |
| set cursorline | |
| " if exists('+termguicolors') | |
| " let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum" | |
| " let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum" | |
| " set termguicolors | |
| " endif | |
| set background=dark | |
| " solarized | |
| " let g:solarized_termcolors = 256 | |
| colorscheme solarized8 | |
| " Split direction | |
| set splitbelow | |
| set splitright | |
| " syntastic | |
| set statusline+=%#warningmsg# | |
| set statusline+=%{SyntasticStatuslineFlag()} | |
| set statusline+=%* | |
| let g:syntastic_always_populate_loc_list = 1 | |
| let g:syntastic_auto_loc_list = 1 | |
| let g:syntastic_check_on_open = 1 | |
| let g:syntastic_check_on_wq = 0 | |
| " vim-airline | |
| let g:airline#extensions#tabline#enabled = 1 | |
| let g:airline_powerline_fonts = 1 | |
| let g:airline_theme='molokai' | |
| " NERDTree | |
| " open NERDTree automatically when vim starts up on opening a directory | |
| 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 | endif | |
| " Close if the only window left open is a NERDTree | |
| autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif | |
| " set pyxversion=3 | |
| " let g:python3_host_prog = '/Users/kai.chen/.pyenv/shims/python3' | |
| " Deoplete | |
| " let g:deoplete#enable_at_startup = 1 | |
| " YouCompleteMe | |
| " let g:ycm_global_ycm_extra_conf = '~/.vim/plugged/youcompleteme/third_party/ycmd/.ycm_extra_conf.py' | |
| let g:ycm_autoclose_preview_window_after_insertion = 1 | |
| let g:ycm_autoclose_preview_window_after_completion = 1 | |
| " let g:ycm_add_preview_to_completeopt = 1 | |
| " indentLine | |
| let g:indentLine_enabled = 1 | |
| let g:indentLine_char_list = ['|', '¦', '┆', '┊'] |
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
1. Install dependencies on macOS
brew install cmake
2. Configure for C-family
./install.py --clangd-completer