Skip to content

Instantly share code, notes, and snippets.

@xmkevinchen
Last active October 11, 2019 17:00
Show Gist options
  • Save xmkevinchen/1542990fd61973fe23e2495c33909009 to your computer and use it in GitHub Desktop.
Save xmkevinchen/1542990fd61973fe23e2495c33909009 to your computer and use it in GitHub Desktop.
Vim config
" 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 = ['|', '¦', '┆', '┊']

Installation

Install Vim-plugin

curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
    https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

Configure YouCompleteMe

YouCompleteMe

1. Install dependencies on macOS

brew install cmake

2. Configure for C-family

./install.py --clangd-completer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment