" Syntax highlighting syntax on " Enable mouse usage set mouse=a " Configure the right-click menu if !exists('g:vscode') aunmenu PopUp vnoremenu PopUp.Cut "+x vnoremenu PopUp.Copy "+y anoremenu PopUp.Paste "+gP vnoremenu PopUp.Paste "+P vnoremenu PopUp.Delete "_x nnoremenu PopUp.Select\ All> ggVG vnoremenu PopUp.Select\ All> gg0oG$ inoremenu PopUp.Select\ All VG endif " Tab size set tabstop=4 set shiftwidth=4 set expandtab " VSCode-style selection indenting nnoremap >>_ nnoremap <<_ inoremap vnoremap >gv vnoremap inoremap lcw nnoremap cwl " VSCode-style comment toggling nnoremap :Commentary vnoremap :Commentary inoremap :Commentary " Force VIM to use system clipboard set clipboard=unnamedplus " Enable per-project vimrc files set exrc set secure " Enable filetype plugins set nocompatible filetype plugin on syntax on " Hide the intro message set shortmess+=I " Force help documents into new tabs cnoreabbrev help getcmdtype() == ":" && getcmdline() == 'help' ? 'tab help' : 'help' cnoreabbrev h getcmdtype() == ":" && getcmdline() == 'h' ? 'tab help' : 'h' " Enable spell checking if !exists('g:vscode') set spell set spelllang=en_ca,en_us set spelloptions=camel hi clear SpellCap hi clear SpellRare " Disable spellcheck for some file formats autocmd FileType man setlocal nospell autocmd FileType diff setlocal nospell endif " Configure Diff rendering hi DiffText ctermfg=White ctermbg=none hi DiffFile ctermfg=White ctermbg=none cterm=bold hi DiffIndexLine ctermfg=White ctermbg=none cterm=bold hi DiffAdd ctermfg=DarkGreen ctermbg=none hi DiffChange ctermfg=DarkRed ctermbg=none hi DiffDelete ctermfg=DarkRed ctermbg=none " Disable the gitgutter background let g:gitgutter_override_sign_column_highlight = 1 highlight clear SignColumn " Make gitgutter update on file save if !exists('g:vscode') autocmd BufWritePost * GitGutter endif " Enable Leap lua require('leap').add_default_mappings() " Custom functions function! MkdirAndWrite() let dir = expand('%:p:h') exec '!mkdir -p ' . dir exec 'w' endfunction command Wmk call MkdirAndWrite()