diff --git a/fish/config.fish b/fish/config.fish index c71c524..274136a 100644 --- a/fish/config.fish +++ b/fish/config.fish @@ -48,7 +48,7 @@ function pbpb; pbp | pb; end function weechat; weechat-curses $argv; end function collapse; sed -e 's/ */ /g'; end -function cuts; cut -d' '; end +function cuts; cut -d' ' $argv; end function v; vim $argv; end function V; vim . $argv; end @@ -122,8 +122,8 @@ function fish_user_key_bindings bind \cn accept-autosuggestion # Ignore iterm2 escape sequences. Vim will handle them if needed. - bind \e\[I true - bind \e\[O true + # bind \e\[I true + # bind \e\[O true # ]] end diff --git a/gitconfig b/gitconfig index 12048ac..6beb3b5 100644 --- a/gitconfig +++ b/gitconfig @@ -70,6 +70,8 @@ ksdiff = difftool -y -t Kaleidoscope ksshow = "!sh -c 'git ksdiff $1^..$1;' -" + sl = "!sh -c 'git show --color=always $1 | less -R' -" + [push] default = current diff --git a/hgrc b/hgrc index 598f0d7..e3a02f0 100644 --- a/hgrc +++ b/hgrc @@ -180,9 +180,11 @@ i, = incoming --graph --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline # hg n . -- show a summary of rev . without diff. # hg show . -- show a summary of rev . with diff. +# hg sl . -- show a summary of rev . with diff, piped to less nlog = log --style=$HOME/lib/dotfiles/mercurial/templates/map-cmdline.nlog n = nlog -vr show = nlog --color=always -vpr +sl = !"$HG" nlog --color=always -vpr $@ | less -R # Simple glog command that doesn't look bad and doesn't require my CLI templates. gl = glog -l10 --template='\033[0;33m{rev}\033[0m {desc|firstline|strip} \033[0;35m{branches}\033[0m \033[0;33m{tags}\033[0m\n\033[1;30m({date|age} by {author|person})\033[0m\n\n' diff --git a/inputrc b/inputrc index bf3965b..e69de29 100644 --- a/inputrc +++ b/inputrc @@ -1,2 +0,0 @@ -\e[O: '' -\e[I: '' diff --git a/vim/vimrc b/vim/vimrc index 183538e..30490ab 100644 --- a/vim/vimrc +++ b/vim/vimrc @@ -71,6 +71,10 @@ au FocusLost * :silent! wall " Resize splits when the window is resized au VimResized * :wincmd = +" Leader +let mapleader = "," +let maplocalleader = "\\" + " Cursorline {{{ " Only show cursorline in the current window and in normal mode. @@ -92,16 +96,6 @@ augroup END " }}} " Trailing whitespace {{{ -" Save {{{ - -" augroup its2012justfuckingsavealready -" au! -" au InsertLeave * :silent! wa -" au CursorHold * :silent! wa -" au CursorHoldI * :silent! wa -" augroup END - -" }}} " Only shown when not in insert mode so I don't go insane. augroup trailing @@ -163,7 +157,7 @@ set colorcolumn=+1 " Backups {{{ set backup " enable backups -set noswapfile " It's 2012, Vim. +set noswapfile " it's 2013, Vim. set undodir=~/.vim/tmp/undo// " undo files set backupdir=~/.vim/tmp/backup// " backups @@ -180,12 +174,6 @@ if !isdirectory(expand(&directory)) call mkdir(expand(&directory), "p") endif -" }}} -" Leader {{{ - -let mapleader = "," -let maplocalleader = "\\" - " }}} " Color scheme {{{ @@ -242,8 +230,8 @@ inoremap l* " Convenience mappings ---------------------------------------------------- {{{ " Fuck you, help key. -noremap :set invfullscreen -inoremap :set invfullscreena +noremap +inoremap " Stop it, hash key. inoremap # X# @@ -270,8 +258,10 @@ nnoremap ) :tabnext " For some reason Vim no longer wants to talk to the OS X pasteboard through "*. " Computers are bullshit. function! g:FuckingCopyTheTextPlease() - normal! gv - silent '<,'>w !pbcopy + let old_z = @z + normal! gv"zy + call system('pbcopy', @z) + let @z = old_z endfunction noremap p :silent! set paste"*p:set nopaste noremap p :r!pbpaste @@ -282,10 +272,7 @@ vnoremap y :call g:FuckingCopyTheTextPlease() vnoremap u vnoremap gu u -" For some reason ctags refuses to ignore Python variables, so I'll just hack -" the tags file with sed and strip them out myself. -" -" Sigh. +" Rebuild Ctags (mnemonic RC -> CR -> ) nnoremap :silent !myctags:redraw! " Highlight Group(s) @@ -296,17 +283,9 @@ nnoremap :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> t " Clean trailing whitespace nnoremap w mz:%s/\s\+$//:let @/=''`z -" Send visual selection to gist.github.com as a private, filetyped Gist -" Requires the gist command line too (brew install gist) -" vnoremap G :w !gist -p -t %:e \| pbcopy -" vnoremap UG :w !gist -p \| pbcopy - " Send visual selection to paste.stevelosh.com vnoremap :w !curl -sF 'sprunge=<-' 'http://paste.stevelosh.com' \| tr -d '\n ' \| pbcopy && open `pbpaste` -" Insert the directory of the current buffer in command line mode -cnoremap %% getcmdtype() == ':' ? expand('%:h').'/' : '%%' - " Select entire buffer nnoremap vaa ggvGg_ nnoremap Vaa ggVG @@ -340,10 +319,6 @@ inoremap mzgUiw`za " Panic Button nnoremap mzggg?G`z -" Emacs bindings in command line mode -cnoremap -cnoremap - " Diffoff nnoremap D :diffoff! @@ -366,7 +341,7 @@ nnoremap J mzJ`z nnoremap S i^mwgk:silent! s/\v +$//:noh`w " HTML tag closing -inoremap :call InsertCloseTag()a +inoremap :call InsertCloseTag()a " Source vnoremap S y:execute @@:echo 'Sourced selection.' @@ -396,7 +371,6 @@ command! -bang Wq wq command! -bang WQ wq " I suck at typing. -nnoremap = == vnoremap - = " Toggle paste @@ -411,17 +385,6 @@ nnoremap i :set list! " Unfuck my screen nnoremap U :syntax sync fromstart:redraw! -" Drag Lines {{{ - -" and to drag lines in any mode -noremap ∆ :m+ -noremap ˚ :m-2 -inoremap ∆ :m+ -inoremap ˚ :m-2 -vnoremap ∆ :m'>+gv -vnoremap ˚ :m-2gv - -" }}} " Easy filetype switching {{{ nnoremap _md :set ft=markdown @@ -518,6 +481,8 @@ vnoremap L g_ " Heresy inoremap I inoremap A +cnoremap +cnoremap " gi already moves to "last place you exited insert mode", so we'll map gI to " something similar: move to last change @@ -535,7 +500,7 @@ nnoremap C :let &scrolloff=999-&scrolloff " Directional Keys {{{ -" It's 2012. +" It's 2013. noremap j gj noremap k gk noremap gj j @@ -1072,7 +1037,7 @@ augroup END " Ack {{{ nnoremap a :Ack! -let g:ackprg = 'ag --nogroup --nocolor --column' +let g:ackprg = 'ag --smart-case --nogroup --nocolor --column' " }}} " Autoclose {{{