X-Git-Url: https://ruderich.org/simon/gitweb/?a=blobdiff_plain;f=zsh%2Frc;h=fae7b4da97eeafdd9e711ac0692f52dedfb5bbce;hb=8330863b92f18e48221125f364307da88ee96e78;hp=b82f75f2447c851f77157db6bb58babda43202f1;hpb=ba733a055d7c26cf7ef37130166e88b6fcd0501e;p=config%2Fdotfiles.git diff --git a/zsh/rc b/zsh/rc index b82f75f..fae7b4d 100644 --- a/zsh/rc +++ b/zsh/rc @@ -387,11 +387,6 @@ function ll() { la -l $* } -# Multiple files given to Vim are opened in tabs, supported since Vim 7. -if [[ ${${${(f)"$(vim --version)"}[1]#VIM - Vi IMproved }%% *} == 7* ]]; then - alias vim='vim -p' -fi - # I sometimes confuse editor and shell, print a warning to prevent I exit the # shell. alias :q='echo "This is not Vim!" >&2' @@ -410,6 +405,24 @@ alias df='df -h' # patches can easily be opened. alias vqs='vim -c "cd $(hg root)/.hg/patches/" "$(hg root)/.hg/patches/series"' +# Display all branches (except stash) in gitk but only 200 commits as this is +# much faster. Also put in the background and disown. Thanks to sitaram in +# #git on Freenode (2009-04-20 15:51). +gitk() { + command gitk \ + --max-count=200 \ + $(git rev-parse --symbolic-full-name --remotes --branches) \ + $@ & + disown %command +} +# Same for tig (except the disown part as it's no GUI program). +tig() { + command tig \ + --max-count=200 \ + $(git rev-parse --symbolic-full-name --remotes --branches) \ + $@ +} + # RUN COMMANDS @@ -418,12 +431,14 @@ alias vqs='vim -c "cd $(hg root)/.hg/patches/" "$(hg root)/.hg/patches/series"' # screen* is necessary as `screen` uses screen.linux for example for a linux # console which would otherwise cause an infinite loop. if [[ $TERM != screen* && $TERM != 'dumb' ]]; then + # Get running detached sessions. + session=$(screen -list | grep 'Detached' | awk '{ print $1; exit }') # Create a new session if none is running. - if [[ $(screen -list | grep "Detached" | wc -l) == 0 ]]; then + if [[ -z $session ]]; then screen # Reattach to a running session. else - screen -r + screen -r $session fi fi