|
set hidden |
|
set noerrorbells |
|
set tabstop=4 softtabstop=4 |
|
set shiftwidth=4 |
|
set signcolumn=yes |
|
set expandtab |
|
set smartindent |
|
set number |
|
set nowrap |
|
set smartcase |
|
set noswapfile |
|
set nobackup |
|
set undodir=~/.vim/undodir |
|
set undofile |
|
set incsearch |
|
set cmdheight=4 |
|
set updatetime=50 |
|
set shortmess+=c |
|
|
|
syntax on |
|
|
|
highlight ColorColumn ctermbg=0 guibg=lightgrey |
|
|
|
call plug#begin('~/.vim/plugged') |
|
|
|
Plug 'tpope/vim-fugitive' |
|
Plug 'neoclide/coc.nvim', {'branch': 'release'} |
|
Plug 'airblade/vim-gitgutter' |
|
Plug 'jremmen/vim-ripgrep' |
|
Plug 'morhetz/gruvbox' |
|
Plug 'vim-utils/vim-man' |
|
Plug 'lyuts/vim-rtags' |
|
Plug 'mbbill/undotree' |
|
Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } |
|
Plug 'junegunn/fzf.vim' |
|
Plug 'christoomey/vim-tmux-navigator' |
|
Plug 'Xuyuanp/nerdtree-git-plugin' |
|
Plug 'tiagofumo/vim-nerdtree-syntax-highlight' |
|
Plug 'ryanoasis/vim-devicons' |
|
Plug 'tpope/vim-surround' |
|
Plug 'mattn/emmet-vim' |
|
Plug 'honza/vim-snippets' |
|
Plug 'vim-airline/vim-airline' |
|
Plug 'scrooloose/syntastic' |
|
Plug 'scrooloose/nerdcommenter' |
|
Plug 'scrooloose/nerdtree' |
|
Plug 'frazrepo/vim-rainbow' |
|
Plug 'dense-analysis/ale' |
|
|
|
call plug#end() |
|
|
|
let g:gruvbox_contrast_dark = 'hard' |
|
let g:gruvbox_termcolors = '256' |
|
colorscheme gruvbox |
|
set background=dark |
|
|
|
autocmd FileType cpp,cxx,h,hpp,c :call GoCoc() |
|
let g:NERDTreeGitStatusWithFlags = 1 |
|
let g:NERDTreeIgnore = ['^node_modules$'] |
|
let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] |
|
command! -nargs=0 Prettier :CocCommand prettier.formatFile |
|
autocmd FileType json syntax match Comment +\/\/.\+$+ |
|
|
|
" " Check if NERDTree is open or active |
|
function! IsNERDTreeOpen() |
|
return exists("t:NERDTreeBufName") && (bufwinnr(t:NERDTreeBufName) != -1) |
|
endfunction |
|
|
|
" Call NERDTreeFind iff NERDTree is active, current window contains a modifiable |
|
" file, and we're not in vimdiff |
|
function! SyncTree() |
|
if &modifiable && IsNERDTreeOpen() && strlen(expand('%')) > 0 && !&diff |
|
NERDTreeFind |
|
wincmd p |
|
endif |
|
endfunction |
|
" Enable folder icons |
|
let g:WebDevIconsUnicodeDecorateFolderNodes = 1 |
|
let g:DevIconsEnableFoldersOpenClose = 1 |
|
|
|
" Fix directory colors |
|
highlight! link NERDTreeFlags NERDTreeDir |
|
|
|
" Remove expandable arrow |
|
let g:WebDevIconsNerdTreeBeforeGlyphPadding = "" |
|
let g:WebDevIconsUnicodeDecorateFolderNodes = v:true |
|
let NERDTreeDirArrowExpandable = "\u00a0" |
|
let NERDTreeDirArrowCollapsible = "\u00a0" |
|
let NERDTreeNodeDelimiter = "\x07" |
|
" Highlight currently open buffer in NERDTree |
|
autocmd BufEnter * call SyncTree() |
|
|
|
" coc config |
|
let g:coc_global_extensions = [ 'coc-snippets', 'coc-pairs', 'coc-tsserver', 'coc-eslint', 'coc-prettier', 'coc-json'] |
|
set statusline^=%{coc#status()}%{get(b:,'coc_current_function','')} |
|
map <C-n> :NERDTreeToggle<CR> |
|
|
|
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 |