]> ruderich.org/simon Gitweb - config/dotfiles.git/blobdiff - zsh/rc
zsh/rc: Add aliases for gitk and tig.
[config/dotfiles.git] / zsh / rc
diff --git a/zsh/rc b/zsh/rc
index b82f75f2447c851f77157db6bb58babda43202f1..fae7b4da97eeafdd9e711ac0692f52dedfb5bbce 100644 (file)
--- 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