let $VIMDIR=expand($HOME)."/.vim"
let $VIMRC="$VIMDIR/vimrc"

" Load plugins
source $VIMDIR/plugins.vim

" Load VIM Configurations
source $VIMDIR/configs.vim

" Load Keybindings
source $VIMDIR/key_maps.vim

" Load plugin configurations
source $VIMDIR/plugin_config.vim

" Load Autocommand
source $VIMDIR/autocommands.vim

" Save session files to $HOME/.vim/session directory
let g:session_dir="$VIMDIR/session"

" Vim-only configs
" Placed here cause Nvim sources the config.vim
""""""""""""""""""""""""""""""""

" Move the .viminfo file inside .vim directory
set viminfofile=$VIMDIR/viminfo

" Auto reload .vimrc
autocmd! bufwritepost $VIMRC source %

" Save inside vim config directory
set undodir=$VIMDIR/undo//

" Vim-only Keybindings
"""""""""""""""""""""""""""""""""""
let $VIMCONFIG=expand($HOME)."/.vim/configs.vim"
nnoremap <C-,> :edit $VIMCONFIG<CR>

let $VIMRC=expand($HOME)."/.vim/vimrc"
nnoremap <C-CR> :source $VIMRC<CR>

" Changes the pwd to the opened file's directory
nnoremap <leader>cd :lcd %:h<CR>
