From e10d778eda5fd40019637bdf5067e461eba8460d Mon Sep 17 00:00:00 2001 From: Andrew Tomaka Date: Thu, 9 May 2013 17:02:25 -0400 Subject: [PATCH] Add some aliases, leaders, bclose, and a text file to note things to change --- .aliases | 3 ++ .vim/plugin/bclose.vim | 78 ++++++++++++++++++++++++++++++++++++++++++ .vimrc | 6 +++- tool-sharpener.txt | 2 ++ 4 files changed, 88 insertions(+), 1 deletion(-) create mode 100644 .vim/plugin/bclose.vim create mode 100644 tool-sharpener.txt diff --git a/.aliases b/.aliases index 6ab6095..efb4f26 100644 --- a/.aliases +++ b/.aliases @@ -1,7 +1,9 @@ alias a="ls -la" alias al="zsh_stats" +alias c="clear" alias ga="git add" alias gaa="git add ." +alias gcf="git commit -F" alias gcm="git commit -m" alias gd="git diff" alias gl="git log" @@ -12,3 +14,4 @@ alias l="ls -lvh --color=auto" alias s="cd ~/Source" alias t="tmux" alias v="vim" +alias x="exit" diff --git a/.vim/plugin/bclose.vim b/.vim/plugin/bclose.vim new file mode 100644 index 0000000..fd87bdd --- /dev/null +++ b/.vim/plugin/bclose.vim @@ -0,0 +1,78 @@ +" Delete buffer while keeping window layout (don't close buffer's windows). +" Version 2008-11-18 from http://vim.wikia.com/wiki/VimTip165 +if v:version < 700 || exists('loaded_bclose') || &cp + finish +endif +let loaded_bclose = 1 +if !exists('bclose_multiple') + let bclose_multiple = 1 +endif + +" Display an error message. +function! s:Warn(msg) + echohl ErrorMsg + echomsg a:msg + echohl NONE +endfunction + +" Command ':Bclose' executes ':bd' to delete buffer in current window. +" The window will show the alternate buffer (Ctrl-^) if it exists, +" or the previous buffer (:bp), or a blank buffer if no previous. +" Command ':Bclose!' is the same, but executes ':bd!' (discard changes). +" An optional argument can specify which buffer to close (name or number). +function! s:Bclose(bang, buffer) + if empty(a:buffer) + let btarget = bufnr('%') + elseif a:buffer =~ '^\d\+$' + let btarget = bufnr(str2nr(a:buffer)) + else + let btarget = bufnr(a:buffer) + endif + if btarget < 0 + call 'bdelete'.a:bang + call s:Warn('No matching buffer for '.a:buffer) + return + endif + if empty(a:bang) && getbufvar(btarget, '&modified') + call s:Warn('No write since last change for buffer '.btarget.' (use :Bclose!)') + return + endif + " Numbers of windows that view target buffer which we will delete. + let wnums = filter(range(1, winnr('$')), 'winbufnr(v:val) == btarget') + if !g:bclose_multiple && len(wnums) > 1 + call s:Warn('Buffer is in multiple windows (use ":let bclose_multiple=1")') + return + endif + let wcurrent = winnr() + for w in wnums + execute w.'wincmd w' + let prevbuf = bufnr('#') + if prevbuf > 0 && buflisted(prevbuf) && prevbuf != w + buffer # + else + bprevious + endif + if btarget == bufnr('%') + " Numbers of listed buffers which are not the target to be deleted. + let blisted = filter(range(1, bufnr('$')), 'buflisted(v:val) && v:val != btarget') + " Listed, not target, and not displayed. + let bhidden = filter(copy(blisted), 'bufwinnr(v:val) < 0') + " Take the first buffer, if any (could be more intelligent). + let bjump = (bhidden + blisted + [-1])[0] + if bjump > 0 + execute 'buffer '.bjump + else + execute 'enew'.a:bang + endif + endif + endfor + execute 'bdelete'.a:bang.' '.btarget + execute wcurrent.'wincmd w' +endfunction + +command! -bang -complete=buffer -nargs=? Bclose call Bclose('', '') +" command! -bang -complete=buffer -nargs=? bc call Bclose('', '') +nnoremap bd :Bclose +nnoremap bD :Bclose! +nnoremap BD :Bclose! + diff --git a/.vimrc b/.vimrc index 2cba443..671dc0d 100644 --- a/.vimrc +++ b/.vimrc @@ -17,6 +17,7 @@ set ffs=unix,dos " File format prefer unix endings set eol " Add newlien at end of file set shellslash " Forward slashes set nobk " No backup files +set formatoptions=crq set textwidth=80 set laststatus=2 " Always show status line set showmode " Show current mode @@ -34,6 +35,8 @@ set hls " Highlight search (hlsearch?) set ruler " Show cursor position set autoindent set number " Show line numbers +set colorcolumn=80 " Ruler at line 80 +set nomodeline " Tabs are 2 spaces set tabstop=2 set softtabstop=2 @@ -56,6 +59,7 @@ let mapleader = "," map s :e ~/Source/ map nc :Nyancat +map ts :sp ~/tool-sharpener.txt " Set style set guifont=Ubuntu\ Mono\ 10 @@ -65,4 +69,4 @@ set cursorline hi CursorLine cterm=NONE ctermbg=234 highlight StatusLine ctermfg=white ctermbg=236 hi SignColumn ctermbg=black - +hi ColorColumn ctermbg=234 diff --git a/tool-sharpener.txt b/tool-sharpener.txt new file mode 100644 index 0000000..58abb79 --- /dev/null +++ b/tool-sharpener.txt @@ -0,0 +1,2 @@ +* :Bclose leaders +* Alias: gcf => git commit -F