Skip to content

Instantly share code, notes, and snippets.

@burritoOverflow
Last active March 14, 2023 18:17
Show Gist options
  • Save burritoOverflow/a6e059e95deb162b8b300930e4b389cd to your computer and use it in GitHub Desktop.
Save burritoOverflow/a6e059e95deb162b8b300930e4b389cd to your computer and use it in GitHub Desktop.
Minimal .vimrc
packadd! dracula
syntax enable
colorscheme dracula
set relativenumber
set number
set showmode
set title
set mouse=a
set ignorecase
set incsearch
set scrolloff=4
set nocompatible
set undofile
set undodir=~/.vim/undodir
let mapleader = " "
" autcomplete parenthesis, brackets and braces
inoremap ( ()<Left>
inoremap [ []<Left>
inoremap { {}<Left>
" autocomplete quotes
inoremap ' '<Esc>:call QuoteInsertionWrapper("'")<CR>a
inoremap " "<Esc>:call QuoteInsertionWrapper('"')<CR>a
inoremap ` `<Esc>:call QuoteInsertionWrapper('`')<CR>a
function! QuoteInsertionWrapper (quote)
let col = col('.')
if getline('.')[col-2] !~ '\k' && getline('.')[col] !~ '\k'
normal ax
exe "normal r".a:quote."h"
end
endfunction
" Strip trailing whitespace (,ss)
function! StripWhitespace()
let save_cursor = getpos(".")
let old_query = getreg('/')
:%s/\s\+$//e
call setpos('.', save_cursor)
call setreg('/', old_query)
endfunction
noremap <leader>ss :call StripWhitespace()<CR>
noremap <f1> :bprev!<CR>
noremap <f2> :bnext!<CR>
noremap <leader>o o<esc>
noremap <leader>O O<esc>
noremap <leader>pv :Ex<CR>
" move commands
vnoremap J :m '>+1<CR>gv=gv
vnoremap K :m '>-2<CR>gv=gv
" nerdtree
packadd! nerdtree
noremap <C-n> :NERDTree<CR>
nnoremap <leader>n :NERDTreeFocus<CR>
nnoremap <C-t> :NERDTreeToggle<CR>
nnoremap <C-f> :NERDTreeFind<CR>
" undotree
packadd! undotree
noremap <leader>u :UndotreeToggle<CR>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment