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'
# 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
# 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