Update tmux and zsh for git
This commit is contained in:
parent
98ede8b9f7
commit
1d74e0cf43
3 changed files with 42 additions and 269 deletions
|
|
@ -40,11 +40,12 @@ bind Down swap-pane -D
|
||||||
bind C-r source-file ~/.tmux.conf
|
bind C-r source-file ~/.tmux.conf
|
||||||
|
|
||||||
# Set default path
|
# Set default path
|
||||||
bind R set-option default-path "$PWD"
|
#bind R set-option default-path "$PWD" #removed in 1.9a
|
||||||
bind C set-option default-path ""
|
#bind C set-option default-path "" #removed in 1.9a
|
||||||
|
|
||||||
# Start window in the session root
|
# Start window in the session root
|
||||||
bind r new-window -c -
|
bind r new-window
|
||||||
|
bind c new-window -c "#{pane_current_path}"
|
||||||
|
|
||||||
# Moving between windows
|
# Moving between windows
|
||||||
#bind " " next-window
|
#bind " " next-window
|
||||||
|
|
@ -55,6 +56,8 @@ bind r new-window -c -
|
||||||
# splits
|
# splits
|
||||||
#unbind %
|
#unbind %
|
||||||
#unbind '"'
|
#unbind '"'
|
||||||
|
bind % split-window -h -c "#{pane_current_path}"
|
||||||
|
bind '"' split-window -v -c "#{pane_current_path}"
|
||||||
#bind | split-window -h
|
#bind | split-window -h
|
||||||
#bind - split-window -v
|
#bind - split-window -v
|
||||||
#bind = next-layout
|
#bind = next-layout
|
||||||
|
|
|
||||||
|
|
@ -1,246 +0,0 @@
|
||||||
##
|
|
||||||
## Load with `autoload -U zgitinit; zgitinit'
|
|
||||||
##
|
|
||||||
|
|
||||||
typeset -gA zgit_info
|
|
||||||
zgit_info=()
|
|
||||||
|
|
||||||
zgit_chpwd_hook() {
|
|
||||||
zgit_info_update
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_preexec_hook() {
|
|
||||||
if [[ $2 == git\ * ]] || [[ $2 == *\ git\ * ]]; then
|
|
||||||
zgit_precmd_do_update=1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_precmd_hook() {
|
|
||||||
if [ $zgit_precmd_do_update ]; then
|
|
||||||
unset zgit_precmd_do_update
|
|
||||||
zgit_info_update
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_info_update() {
|
|
||||||
zgit_info=()
|
|
||||||
|
|
||||||
local gitdir="$(git rev-parse --git-dir 2>/dev/null)"
|
|
||||||
if [ $? -ne 0 ] || [ -z "$gitdir" ]; then
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
|
|
||||||
zgit_info[dir]=$gitdir
|
|
||||||
zgit_info[bare]=$(git rev-parse --is-bare-repository)
|
|
||||||
zgit_info[inwork]=$(git rev-parse --is-inside-work-tree)
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_isgit() {
|
|
||||||
if [ -z "$zgit_info[dir]" ]; then
|
|
||||||
return 1
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_inworktree() {
|
|
||||||
zgit_isgit || return
|
|
||||||
if [ "$zgit_info[inwork]" = "true" ]; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_isbare() {
|
|
||||||
zgit_isgit || return
|
|
||||||
if [ "$zgit_info[bare]" = "true" ]; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_head() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
|
|
||||||
if [ -z "$zgit_info[head]" ]; then
|
|
||||||
local name=''
|
|
||||||
name=$(git symbolic-ref -q HEAD)
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
if [[ $name == refs/(heads|tags)/* ]]; then
|
|
||||||
name=${name#refs/(heads|tags)/}
|
|
||||||
fi
|
|
||||||
else
|
|
||||||
name=$(git name-rev --name-only --no-undefined --always HEAD)
|
|
||||||
if [ $? -ne 0 ]; then
|
|
||||||
return 1
|
|
||||||
elif [[ $name == remotes/* ]]; then
|
|
||||||
name=${name#remotes/}
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
zgit_info[head]=$name
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo $zgit_info[head]
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_branch() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
zgit_isbare && return 1
|
|
||||||
|
|
||||||
if [ -z "$zgit_info[branch]" ]; then
|
|
||||||
local branch=$(git symbolic-ref HEAD 2>/dev/null)
|
|
||||||
if [ $? -eq 0 ]; then
|
|
||||||
branch=${branch##*/}
|
|
||||||
else
|
|
||||||
branch=$(git name-rev --name-only --always HEAD)
|
|
||||||
fi
|
|
||||||
zgit_info[branch]=$branch
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo $zgit_info[branch]
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_tracking_remote() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
zgit_isbare && return 1
|
|
||||||
|
|
||||||
local branch
|
|
||||||
if [ -n "$1" ]; then
|
|
||||||
branch=$1
|
|
||||||
elif [ -z "$zgit_info[branch]" ]; then
|
|
||||||
branch=$(zgit_branch)
|
|
||||||
[ $? -ne 0 ] && return 1
|
|
||||||
else
|
|
||||||
branch=$zgit_info[branch]
|
|
||||||
fi
|
|
||||||
|
|
||||||
local k="tracking_$branch"
|
|
||||||
local remote
|
|
||||||
if [ -z "$zgit_info[$k]" ]; then
|
|
||||||
remote=$(git config branch.$branch.remote)
|
|
||||||
zgit_info[$k]=$remote
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo $zgit_info[$k]
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_tracking_merge() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
zgit_isbare && return 1
|
|
||||||
|
|
||||||
local branch
|
|
||||||
if [ -z "$zgit_info[branch]" ]; then
|
|
||||||
branch=$(zgit_branch)
|
|
||||||
[ $? -ne 0 ] && return 1
|
|
||||||
else
|
|
||||||
branch=$zgit_info[branch]
|
|
||||||
fi
|
|
||||||
|
|
||||||
local remote=$(zgit_tracking_remote $branch)
|
|
||||||
[ $? -ne 0 ] && return 1
|
|
||||||
if [ -n "$remote" ]; then # tracking branch
|
|
||||||
local merge=$(git config branch.$branch.merge)
|
|
||||||
if [ $remote != "." ]; then
|
|
||||||
merge=$remote/$(basename $merge)
|
|
||||||
fi
|
|
||||||
echo $merge
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_isindexclean() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
if git diff --quiet --cached 2>/dev/null; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_isworktreeclean() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
if git diff --quiet 2>/dev/null; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_hasuntracked() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
local -a flist
|
|
||||||
flist=($(git ls-files --others --exclude-standard))
|
|
||||||
if [ $#flist -gt 0 ]; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_hasunmerged() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
local -a flist
|
|
||||||
flist=($(git ls-files -u))
|
|
||||||
if [ $#flist -gt 0 ]; then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_svnhead() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
|
|
||||||
local commit=$1
|
|
||||||
if [ -z "$commit" ]; then
|
|
||||||
commit='HEAD'
|
|
||||||
fi
|
|
||||||
|
|
||||||
git show --raw $commit | \
|
|
||||||
grep git-svn-id | \
|
|
||||||
sed -re 's/^\s*git-svn-id: .*@([0-9]+).*$/\1/'
|
|
||||||
}
|
|
||||||
|
|
||||||
zgit_rebaseinfo() {
|
|
||||||
zgit_isgit || return 1
|
|
||||||
if [ -d $zgit_info[dir]/rebase-merge ]; then
|
|
||||||
dotest=$zgit_info[dir]/rebase-merge
|
|
||||||
elif [ -d $zgit_info[dir]/.dotest-merge ]; then
|
|
||||||
dotest=$zgit_info[dir]/.dotest-merge
|
|
||||||
elif [ -d .dotest ]; then
|
|
||||||
dotest=.dotest
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
zgit_info[dotest]=$dotest
|
|
||||||
|
|
||||||
zgit_info[rb_onto]=$(cat "$dotest/onto")
|
|
||||||
if [ -f "$dotest/upstream" ]; then
|
|
||||||
zgit_info[rb_upstream]=$(cat "$dotest/upstream")
|
|
||||||
else
|
|
||||||
zgit_info[rb_upstream]=
|
|
||||||
fi
|
|
||||||
if [ -f "$dotest/orig-head" ]; then
|
|
||||||
zgit_info[rb_head]=$(cat "$dotest/orig-head")
|
|
||||||
elif [ -f "$dotest/head" ]; then
|
|
||||||
zgit_info[rb_head]=$(cat "$dotest/head")
|
|
||||||
fi
|
|
||||||
zgit_info[rb_head_name]=$(cat "$dotest/head-name")
|
|
||||||
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
chpwd_functions+=zgit_chpwd_hook
|
|
||||||
preexec_functions+=zgit_preexec_hook
|
|
||||||
precmd_functions+=zgit_precmd_hook
|
|
||||||
|
|
||||||
zgit_info_update
|
|
||||||
|
|
||||||
# vim:set ft=zsh:
|
|
||||||
56
.zshenv
56
.zshenv
|
|
@ -11,15 +11,21 @@ fpath=($fpath $HOME/.zsh/func)
|
||||||
#typeset -u fpath
|
#typeset -u fpath
|
||||||
|
|
||||||
# Options
|
# Options
|
||||||
setopt appendhistory hist_ignore_space hist_ignore_all_dups extendedglob nomatch notify dvorak # correct
|
setopt prompt_subst appendhistory hist_ignore_space hist_ignore_all_dups extendedglob nomatch notify dvorak # correct
|
||||||
unsetopt beep
|
unsetopt beep
|
||||||
bindkey -e
|
bindkey -e
|
||||||
|
|
||||||
zstyle :compinstall filename '~/.zshrc'
|
autoload -Uz compinit colors vcs_info select-word-style && colors
|
||||||
autoload -Uz compinit colors zgitinit && colors && zgitinit
|
|
||||||
compinit -u
|
compinit -u
|
||||||
|
|
||||||
|
zstyle :compinstall filename '~/.zshenv'
|
||||||
|
zstyle ':vcs_info:*' actionformats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{3}|%F{1}%a%F{5}]%f '
|
||||||
|
zstyle ':vcs_info:*' formats '%F{5}(%f%s%F{5})%F{3}-%F{5}[%F{2}%b%F{5}]%f '
|
||||||
|
zstyle ':vcs_info:*' enable git
|
||||||
|
|
||||||
#bindkey '^L' push-line
|
#bindkey '^L' push-line
|
||||||
bindkey "^I" expand-or-complete-prefix
|
bindkey "^I" expand-or-complete-prefix
|
||||||
|
#select-word-style bash
|
||||||
umask 022
|
umask 022
|
||||||
|
|
||||||
# Fix $TERM
|
# Fix $TERM
|
||||||
|
|
@ -97,23 +103,29 @@ export ENVPUPPET_BASEDIR="$HOME/Documents/work/git"
|
||||||
export OVFTOOL='/Applications/VMware OVF Tool/ovftool'
|
export OVFTOOL='/Applications/VMware OVF Tool/ovftool'
|
||||||
|
|
||||||
# Prompt
|
# Prompt
|
||||||
#PS1="%m%# "
|
#prompt_precmd() {
|
||||||
prompt_precmd() {
|
# gitcolor=""
|
||||||
gitcolor=""
|
# if zgit_isgit ; then
|
||||||
if zgit_isgit ; then
|
# if ! zgit_isindexclean ; then
|
||||||
if ! zgit_isindexclean ; then
|
# #PROMPT="[%F{$usercolor}%n%F{white}@%F{$hostcolor}%m%F{white}:%F{blue}%~%f](%F{cyan}$(zgit_branch)%f)>"
|
||||||
#PROMPT="[%F{$usercolor}%n%F{white}@%F{$hostcolor}%m%F{white}:%F{blue}%~%f](%F{cyan}$(zgit_branch)%f)>"
|
# gitcolor=$fg[blue]
|
||||||
gitcolor=$fg[blue]
|
# elif ! zgit_isworktreeclean ; then
|
||||||
elif ! zgit_isworktreeclean ; then
|
# #PROMPT="[%F{$usercolor}%n%F{white}@%F{$hostcolor}%m%F{white}:%F{blue}%~%f]>"
|
||||||
#PROMPT="[%F{$usercolor}%n%F{white}@%F{$hostcolor}%m%F{white}:%F{blue}%~%f]>"
|
# gitcolor=$fg[green]
|
||||||
gitcolor=$fg[green]
|
# fi
|
||||||
fi
|
# fi
|
||||||
fi
|
# color="%(?.$gitcolor.$fg[red])"
|
||||||
color="%(?.$gitcolor.$fg[red])"
|
# PROMPT="%m$color%#%{$reset_color%} "
|
||||||
PROMPT="%m$color%#%{$reset_color%} "
|
#}
|
||||||
}
|
|
||||||
#precmd_functions+=prompt_precmd
|
#precmd_functions+=prompt_precmd
|
||||||
PROMPT="%m%# "
|
PROMPT="%m%# "
|
||||||
|
vcs_info_wrapper() {
|
||||||
|
vcs_info
|
||||||
|
if [ -n "$vcs_info_msg_0_" ]; then
|
||||||
|
echo "%{$fg[grey]%}${vcs_info_msg_0_}%{$reset_color%}$del"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
RPROMPT=$'$(vcs_info_wrapper)'
|
||||||
|
|
||||||
if [ `uname -s` = "SunOS" ] ; then
|
if [ `uname -s` = "SunOS" ] ; then
|
||||||
export LANG="C"
|
export LANG="C"
|
||||||
|
|
@ -244,14 +256,14 @@ alias gd="git diff"
|
||||||
alias gdc="git diff --cached"
|
alias gdc="git diff --cached"
|
||||||
alias gc="git commit"
|
alias gc="git commit"
|
||||||
alias gca="git commit --amend"
|
alias gca="git commit --amend"
|
||||||
alias gfa="git fetch --all"
|
alias gfa="git fetch --all --prune"
|
||||||
alias gfap="git fetch --all --prune"
|
|
||||||
alias gr="git remote -v show"
|
alias gr="git remote -v show"
|
||||||
alias gp="git push"
|
alias gp="git push"
|
||||||
alias gu="git pull"
|
alias gu="git pull"
|
||||||
alias gdw="git diff --color-words"
|
alias gdw="git diff --color-words"
|
||||||
alias gk="gitk --all&"
|
alias gk="gitk --all&"
|
||||||
alias gx="gitx --all"
|
alias gx="gitx --all"
|
||||||
|
alias be="bundle exec"
|
||||||
alias uzbl="uzbl-browser"
|
alias uzbl="uzbl-browser"
|
||||||
alias hide="SetFile -a V"
|
alias hide="SetFile -a V"
|
||||||
alias show="SetFile -a v"
|
alias show="SetFile -a v"
|
||||||
|
|
@ -264,6 +276,10 @@ alias -s mkv="mplayer"
|
||||||
alias -s mpg="mplayer"
|
alias -s mpg="mplayer"
|
||||||
|
|
||||||
# Functions
|
# Functions
|
||||||
|
function listvm() { curl -s --url http://vcloud.delivery.puppetlabs.net/vm/ ; }
|
||||||
|
function getvm() { curl -d --url http://vcloud.delivery.puppetlabs.net/vm/$1 ; }
|
||||||
|
function sshvm() { ssh -i ~/.ssh/id_rsa-acceptance root@$1 ; }
|
||||||
|
function rmvm() { curl -X DELETE --url http://vcloud.delivery.puppetlabs.net/vm/$1 ; }
|
||||||
args() { echo $#; }
|
args() { echo $#; }
|
||||||
title() { WINTITLE="$*"; print -Pn "\e]0;$WINTITLE\a" }
|
title() { WINTITLE="$*"; print -Pn "\e]0;$WINTITLE\a" }
|
||||||
hl() { pbpaste | highlight --syntax=$1 -O rtf | pbcopy }
|
hl() { pbpaste | highlight --syntax=$1 -O rtf | pbcopy }
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue