2022-04-05 12:45:55 -05:00
|
|
|
" basic vim settings (tab width, line numbers, etc)
|
|
|
|
set tabstop=4
|
|
|
|
set shiftwidth=4
|
|
|
|
set softtabstop=4
|
|
|
|
set showtabline=2
|
|
|
|
set number
|
|
|
|
set expandtab
|
2022-04-05 15:19:46 -05:00
|
|
|
set encoding=UTF-8
|
2022-04-05 12:45:55 -05:00
|
|
|
|
|
|
|
" install vim-plug if it's not installed already
|
|
|
|
let data_dir = has('nvim') ? stdpath('data') . '/site' : '~/.vim'
|
|
|
|
if empty(glob(data_dir . '/autoload/plug.vim'))
|
|
|
|
silent execute '!curl -fLo '.data_dir.'/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
|
|
|
|
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
|
|
|
|
endif
|
|
|
|
|
|
|
|
" install plugins
|
|
|
|
call plug#begin()
|
2022-01-21 11:22:06 -06:00
|
|
|
Plug 'ycm-core/YouCompleteMe'
|
2022-04-05 12:45:55 -05:00
|
|
|
Plug 'preservim/nerdtree'
|
2022-04-05 15:19:46 -05:00
|
|
|
Plug 'ryanoasis/vim-devicons'
|
2022-04-09 14:46:39 -05:00
|
|
|
Plug 'alx741/vim-rustfmt'
|
2022-01-21 11:22:06 -06:00
|
|
|
call plug#end()
|
2022-04-05 12:45:55 -05:00
|
|
|
|
|
|
|
" Keybindings for tab management
|
|
|
|
map <C-z> :tabp<CR>
|
|
|
|
map <C-x> :tabn<CR>
|
|
|
|
map <C-c> :tabnew<CR>
|
|
|
|
|
|
|
|
" NERDTree settings
|
|
|
|
nnoremap <C-t> :NERDTreeToggle<CR>
|
|
|
|
let g:NERDTreeAutoDeleteBuffer = 1
|
|
|
|
let g:NERDTreeMinimalUI = 1
|
|
|
|
let g:NERDTreeQuitOnOpen = 1
|
|
|
|
let g:NERDTreeDirArrowExpandable = '>'
|
|
|
|
let g:NERDTreeDirArrowCollapsible = '<'
|
|
|
|
|
|
|
|
" save/quit
|
|
|
|
nnoremap <C-s> :w<CR>
|
|
|
|
nnoremap <C-q> :q<CR>
|
|
|
|
command Dw :w !sudo tee %
|
2022-04-09 14:46:50 -05:00
|
|
|
|
|
|
|
" YCM settings
|
|
|
|
let g:ycm_autoclose_preview_window_after_completion = 1
|
|
|
|
let g:ycm_rust_toolchain_root = "/home/yashkarandikar/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/"
|