rburmorrison
4/8/2018 - 9:08 PM

.vimrc

set tabstop=4
set shiftwidth=4
set number relativenumber
set encoding=UTF-8

" NERDTree Shortcut
nnoremap <C-n> :NERDTreeToggle<C-m>

" IDE Mode
nnoremap <C-i> :NERDTreeToggle<C-m>:TagbarToggle<C-m>

" Vim Plug Plugins
call plug#begin('~/.vim/plugged')

" Aesthetics
Plug 'bling/vim-airline'
Plug 'flazz/vim-colorschemes'

" Autocomplete
Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Notes:
"   For golang to work, gopls must be installed
"
"   node and npm must be installed in general
"
"   For python to work, install jedi with pip
"
"   For clang to work, install clangd
"
"   For tsserver to work, install tsserver by globally installing typescript
"   with npm

" Editor
Plug 'ctrlpvim/ctrlp.vim'
Plug 'scrooloose/nerdtree'
Plug 'w0rp/ale'
Plug 'jiangmiao/auto-pairs'
Plug 'mattn/emmet-vim'
Plug 'godlygeek/tabular'
Plug 'majutsushi/tagbar'
Plug 'tpope/vim-commentary'
Plug 'xuyuanp/nerdtree-git-plugin'
Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
Plug 'ntpeters/vim-better-whitespace'
Plug 'mhinz/vim-startify'

" Syntax
Plug 'liuchengxu/graphviz.vim'
Plug 'lervag/vimtex'
Plug 'jceb/vim-orgmode'
Plug 'elzr/vim-json'
Plug 'habamax/vim-asciidoctor'
Plug 'fatih/vim-go', { 'do': ':GoUpdateBinaries' }
Plug 'rust-lang/rust.vim'
Plug 'rhysd/vim-crystal'

call plug#end()

set background=dark
colorscheme gruvbox

" Extra Setup
let g:go_fmt_command = "goimports"

let g:ctrlp_map = '<c-p>'
let g:ctrlp_cmd = 'CtrlP'
{
	"languageserver": {
		"golang": {
		  "command": "gopls",
		  "rootPatterns": ["go.mod"],
		  "filetypes": ["go"]
		},
		"clangd": {
			"command": "clangd",
			"args": ["--background-index"],
			"rootPatterns": ["compile_flags.txt", "compile_commands.json", ".vim/", ".git/", ".hg/"],
			"filetypes": ["c", "cpp", "objc", "objcpp"]
		}
	}
}