From b14e6acda4e53225f62896f4d8db5ada99faf051 Mon Sep 17 00:00:00 2001 From: James Dixon Date: Fri, 13 Jan 2023 11:16:31 -0500 Subject: [PATCH] spruce up vimrc with comments and some features --- config/vim/.vim/vimrc | 62 ++++++++++++++++++++++++++----------------- 1 file changed, 37 insertions(+), 25 deletions(-) diff --git a/config/vim/.vim/vimrc b/config/vim/.vim/vimrc index 9228e68..8f19936 100644 --- a/config/vim/.vim/vimrc +++ b/config/vim/.vim/vimrc @@ -1,48 +1,60 @@ -" -" minimal vimrc with no (extra) plugins -" +"-------------- +" a minimal vimrc +"-------------- "load system defaults +"-------------------- if filereadable(expand('$VIMRUNTIME/defaults.vim')) - unlet! g:skip_defaults_vim - source $VIMRUNTIME/defaults.vim + unlet! g:skip_defaults_vim + source $VIMRUNTIME/defaults.vim endif "regular settings "---------------- " ui -set number -set ruler -set wildmenu -set showcmd -set showmatch +set number " line numbers +set ruler " line # in the statusline +set wildmenu " vim command completion menu +set showcmd " show the current normal mode command +set showmatch " show matching symbols like (), {} +set hidden " allow unsaved buffers in background " encoding/format -set encoding=utf-8 -set fileformats=unix,dos,mac +set encoding=utf-8 " utf-8 (basically) standard +set fileformats=unix,dos,mac " controls newline styles " searching -set hlsearch -set incsearch -set ignorecase -set smartcase +set hlsearch " highlight all matches for a search +set incsearch " incremental search by character +set ignorecase " ignore alphabetical case of search +set smartcase " ignore unless there is a capital letter -" indent -set shiftwidth=4 -set tabstop=4 -set softtabstop=4 -set autoindent +" tab/space indent and whitespace +set tabstop=2 " tabstop is the num to use for a tab character +set softtabstop=2 " softtabstop makes up the difference between tab and space +set shiftwidth=2 " shiftwidth applies to indenting with < and > +set expandtab " use space characters to indent instead of tab characters +set autoindent " try to autoindent based on context +set backspace=indent,eol,start " lets you backspace over anything " key timeout values -set esckeys -set ttimeoutlen=20 -set timeoutlen=1000 +set esckeys " allow to be registered instantly +set timeoutlen=1000 " keymap timeout value (1 second in ms) +set ttimeoutlen=20 " time out for keycodes (20ms) " allow syntax and filetype plugins syntax enable filetype plugin indent on runtime macros/matchit.vim +" keybinds +"---------- +let mapleader = " " +nnoremap l :set list! +nnoremap t2 :set ts=2 sts=2 sw=2 expandtab +nnoremap t4 :set ts=4 sts=4 sw=4 expandtab +nnoremap t4t :set ts=4 sts=4 sw=4 noexpandtab + " autocmds "--------- augroup general @@ -58,7 +70,7 @@ augroup languages autocmd! autocmd BufNewFile,BufRead *.bash set syntax=sh autocmd FileType python xnoremap r :'<,'>:w !python3 - autocmd FileType go set noexpandtab + autocmd FileType go setlocal noexpandtab ts=4 sts=4 sw=4 autocmd FileType html :syntax sync fromstart autocmd FileType html,javascript,css,json,yaml,sh \ setlocal ts=2 sts=2 sw=2 expandtab