source ~/.zsh_local source ~/.shell_aliases HISTFILE=~/.histfile HISTSIZE=10000 SAVEHIST=10000 setopt appendhistory autocd notify setopt menu_complete unsetopt beep bindkey -v autoload -U up-line-or-beginning-search autoload -U down-line-or-beginning-search bindkey '^[[A' history-beginning-search-backward bindkey '^[[B' history-beginning-search-forward export EDITOR="vim" zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate zstyle ':completion:*' matcher-list '+' '+m:{[:lower:]}={[:upper:]}' '+m:{[:lower:][:upper:]}={[:upper:][:lower:]}' '+r:|[._-]=** r:|=** l:|=*' zstyle :compinstall filename '~/.zshrc' autoload -Uz compinit compinit autoload -Uz vcs_info precmd() { vcs_info } zstyle ':vcs_info:git:*' formats ' [%b]' setopt PROMPT_SUBST PROMPT='[%(!.%B%F{red}.%B%F{blue})%n%B%F{white}@%m%b%f] %b%F{green}%~%B%F{yellow}${vcs_info_msg_0_} %B%f$%b%f ' # enable color support of ls and also add handy aliases if [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls='ls --color=auto' alias grep='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi export PATH=./:$PATH fignore=(o) function SetTtyColors() { echo -en "\e]P0191e1f" #black 1 echo -en "\e]P1dc4848" #darkgrey 2 echo -en "\e]P200aa00" #darkred 3 echo -en "\e]P3d99f4e" #red 4 echo -en "\e]P44444aa" #darkgreen 5 echo -en "\e]P5c436b9" #green 6 echo -en "\e]P600aaaa" #brown 7 echo -en "\e]P7d7d7d7" #yellow 8 echo -en "\e]P87b7b7b" #darkblue 9 echo -en "\e]P9ff6f6f" #blue 10 echo -en "\e]PA55ff55" #darkmagenta11 echo -en "\e]PBffed8b" #magenta 12 echo -en "\e]PC5555ff" #darkcyan 13 echo -en "\e]PDff6eff" #cyan 14 echo -en "\e]PE55ffff" #lightgray 15 echo -en "\e]PFaaaaaa" #white 16 clear } if [ "$TERM" = "linux" ]; then SetTtyColors fi function _open2(){ var=$(fc -ln -1); if [[ $var != *"grep"* ]]; then; return; fi; var=$(sed "s/grepr/grepr -l/" <<< $var); vim -p `zsh -c "$var" | grep $1` } # After running grepr, `open` plus a match will # search history for the most recent grepr, # and open the first file matching the text # in Vim, at the first matching line number function _open(){ command=$(fc -ln -1); count=1; while [[ $command != *"grepr"* ]]; do ((count++)) command=$(fc -ln -$count | head -n 1); done; # echo '$@' line=$(zsh -c "$command" | grep $1 | sed "s/^[^:]*://g" | sed "s/:.*//" | head -n 1); echo $line; file=$(zsh -c "$command" | grep $1 | sed "s/:.*//" | head -n 1); echo $file; vim +$line -p `echo $file`; } function pushdot { cd ~/.dotfiles && if [ $# -eq 0 ]; then git commit -a && git push -u origin master else git commit -a -m "$1" && git push -u origin master fi cd - }