Created
September 10, 2021 21:53
-
-
Save avinashsivaraman/521a7b1bb8b5d45c7df1d9266daf0aeb to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
syntax on | |
set hidden | |
set noerrorbells | |
set tabstop=2 softtabstop=2 | |
set shiftwidth=2 | |
set expandtab | |
set smartindent | |
set nu | |
set relativenumber | |
set nowrap | |
set smartcase | |
set noswapfile | |
set nobackup | |
set undodir=~/.vim/undodir | |
set undofile | |
set incsearch | |
set backspace=indent,eol,start | |
" Having longer updatetime (default is 4000 ms = 4 s) leads to noticeable | |
" delays and poor user experience. | |
set updatetime=50 | |
" Don't pass messages to |ins-completion-menu|. | |
set shortmess+=c | |
set colorcolumn=80 | |
highlight ColorColumn ctermbg=0 guibg=lightgrey | |
autocmd VimEnter * NERDTree | |
map <C-b> :NERDTreeToggle<CR> | |
map <C-q> :windo q<CR> | |
let g:pymode_python = 'python3' | |
let g:ycm_python_interpreter_path = '/usr/local/bin/python3' | |
let NERDTreeShowHidden=1 | |
call plug#begin('~/.vim/plugged') | |
Plug 'ycm-core/YouCompleteMe' | |
Plug 'morhetz/gruvbox' | |
Plug 'jremmen/vim-ripgrep' | |
Plug 'tpope/vim-fugitive' | |
Plug 'leafgarland/typescript-vim' | |
Plug 'vim-utils/vim-man' | |
Plug 'https://github.com/kien/ctrlp.vim.git' | |
Plug 'prettier/vim-prettier', { 'do': 'yarn install' } | |
Plug 'mbbill/undotree' | |
Plug 'sheerun/vim-polyglot' | |
Plug 'dense-analysis/ale' | |
Plug 'scrooloose/nerdtree' | |
Plug 'Xuyuanp/nerdtree-git-plugin' | |
Plug 'mhinz/vim-startify' | |
call plug#end() | |
colorscheme gruvbox | |
set background=dark | |
if executable('rg') | |
let g:rg_derive_root='true' | |
endif | |
let g:ctrlp_user_command = ['.git/', 'git --git-dir=%s/.git ls-files -oc --exclude-standard'] | |
let mapleader = " " | |
let g:netrw_browse_split = 2 | |
let g:netrw_banner = 0 | |
let g:netrw_winsize = 25 | |
let g:ctrlp_use_caching = 0 | |
nnoremap <leader>h :wincmd h<CR> | |
nnoremap <leader>j :wincmd j<CR> | |
nnoremap <leader>k :wincmd k<CR> | |
nnoremap <leader>l :wincmd l<CR> | |
nnoremap <leader>u :UndotreeShow<CR> | |
nnoremap <leader>pv :wincmd v<bar> :Ex <bar> :vertical resize 30<CR> | |
nnoremap <Leader>ps :Rg<SPACE> | |
nnoremap <silent> <Leader>+ :vertical resize +5<CR> | |
nnoremap <silent> <Leader>- :vertical resize -5<CR> | |
vnoremap J :m '>+1<CR>gv=gv | |
vnoremap K :m '<-2<CR>gv=gv | |
fun! GoYCM() | |
nnoremap <buffer> <silent> <leader>gd :YcmCompleter GoTo<CR> | |
nnoremap <buffer> <silent> <leader>gr :YcmCompleter GoToReferences<CR> | |
nnoremap <buffer> <silent> <leader>rr :YcmCompleter RefactorRename<space> | |
endfun | |
function! s:check_back_space() abort | |
let col = col('.') - 1 | |
return !col || getline('.')[col - 1] =~# '\s' | |
endfunction | |
fun! GoCoc() | |
inoremap <buffer> <silent><expr> <TAB> | |
\ pumvisible() ? "\<C-n>" : | |
\ <SID>check_back_space() ? "\<TAB>" : | |
\ coc#refresh() | |
inoremap <buffer> <expr><S-TAB> pumvisible() ? "\<C-p>" : "\<C-h>" | |
inoremap <buffer> <silent><expr> <C-space> coc#refresh() | |
" GoTo code navigation. | |
nmap <buffer> <leader>gd <Plug>(coc-definition) | |
nmap <buffer> <leader>gy <Plug>(coc-type-definition) | |
nmap <buffer> <leader>gi <Plug>(coc-implementation) | |
nmap <buffer> <leader>gr <Plug>(coc-references) | |
nnoremap <buffer> <leader>cr :CocRestart | |
endfun | |
fun! TrimWhitespace() | |
let l:save = winsaveview() | |
keeppatterns %s/\s\+$//e | |
call winrestview(l:save) | |
endfun | |
autocmd BufWritePre * :call TrimWhitespace() | |
autocmd FileType typescript :call GoYCM() | |
autocmd FileType cpp,cxx,h,hpp,c :call GoCoc() | |
nmap <silent> [c <Plug>(ale_previous_wrap) | |
nmap <silent> ]c <Plug>(ale_next_wrap) | |
let g:ale_sign_error = '❌' | |
let g:ale_sign_warning = '⚠️' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment