From f3b91d75d2d3153e9fa4d7414929dcc531779727 Mon Sep 17 00:00:00 2001 From: Ben Sima Date: Tue, 27 Aug 2019 14:34:49 -0700 Subject: reorganize, and some small fixes --- lib/vimrc | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 lib/vimrc (limited to 'lib/vimrc') diff --git a/lib/vimrc b/lib/vimrc new file mode 100644 index 0000000..f585f90 --- /dev/null +++ b/lib/vimrc @@ -0,0 +1,106 @@ +""" General settings +set autoindent +set backspace=indent,eol,start +set complete-=i " Set the matches for insert mode completion +set encoding=utf-8 " Set encoding +set expandtab " Use spaces instead of tabs +set formatoptions+=j " Delete comment character when joining commented lines +set hlsearch " Highlight all search results +set laststatus=1 " No status line +set ignorecase " Ignore cases when searching +set incsearch " Incremental search +set linebreak " Break lines at word (requires Wrap lines) +set nowrap " Don't add an actual linebreak when wrapping +set ruler " Show line & col number of cursor position +set shiftwidth=4 " Number of auto-indent spaces +set showmatch " Highlight matching brace +set smartcase " Better searching btw cases +set smartindent " Autoindent when starting a new line +set smarttab " Tab insertion & deletion +set tabstop=4 " One tab = 4 spaces +set textwidth=80 " Line wrap (number of cols) +set visualbell " Use visual bell (no beeping) +set wildmenu " Helpful completion menu + +" Strings to use in 'list' mode and for the :list command +set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+ + +""" Enable syntax +if has('syntax') && !exists('g:syntax_on') + syntax enable +endif + +""" Make , the leader key +let mapleader = "," + +" easy escape +imap fd + +" send to ix.io +noremap i :w !ix + +" edit files and buffers, relative to local +nmap ,e :edit +nmap ;e :edit =expand("%:h") . "/" +nmap ,o :buffer +nmap ;o :buffer =expand("%:h") . "/" + +" list buffers +nmap ,l :ls + +" kill buffer +nmap ,k :bdelete + +" insert current date +nmap ,d :r !date +\%Y.\%m.\%d +nmap ,D :r !date +\%Y.\%m.\%d..\%H.\%M.\%S + +" grep (ripgrep) +nmap ,g :Rg + +" clear out trailing whitespace and lines ending in whitespace +nmap ,w :%s/[\t ]\+$//e + +" Use to clear the highlighting of :set hlsearch. +if maparg('', 'n') ==# '' + nnoremap :nohlsearch=has('diff')?'diffupdate':'' +endif + +" trailing spaces are always bad +syntax match Warning display "\s\+$" +" mixed tabs and spaces +syntax match Warning display " \+\t" +syntax match Warning display "\t\+ " + +" mark columns 80 and 81 in red for long lines... +match ErrorMsg /\%80v.\%81v./ + +""" Easily find cursor with crosshair (,c) +:hi CursorLine cterm=NONE term=reverse ctermbg=7 guibg=Grey90 +:hi CursorColumn cterm=NONE term=reverse ctermbg=7 guibg=Grey90 +:nnoremap c :set cursorline! cursorcolumn! + +""" File browser +let g:netrw_banner=0 " Disable file browser banner +let g:netrw_liststyle=3 " Tree view + +""" CTAGS shortcuts +" open definition in a new tab: +map :tab split:exec("tag ".expand("")) +" open definition in a vertical split: +map :vsp :exec("tag ".expand("")) + +""" Colors! +set termguicolors +let &t_8f = "\[38;2;%lu;%lu;%lum" +let &t_8b = "\[48;2;%lu;%lu;%lum" + +""" Plugins with vim-plug +" 2019.06.11: disabling b/c I'd rather just use nix/home-manager for vim +" plugins, but this is nice code to have for reference too +"if empty(glob('~/.vim/autoload/plug.vim')) +" silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs +" \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +" autocmd VimEnter * PlugInstall --sync | source $MYVIMRC +"endif +"so ~/.vim/plugins.vim -- cgit v1.2.3