# # Executes commands at the start of an interactive session. # # Authors: # Sorin Ionescu # # Source Prezto. if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" fi export EDITOR=vim export VISUAL=vim unsetopt correct # Don't autocorrect unsetopt flowcontrol # So ^S and ^Q can be used setopt no_nomatch # Pass bad matches on setopt no_share_history bindkey "\ep" history-beginning-search-backward bindkey "\en" history-beginning-search-forward alias be='bundle exec' alias tat='tmux new-session -As `basename $PWD | ruby -e "puts ARGF.read.strip.downcase.gsub(/[^\w]+/, ?-)"`' alias plz='sudo' function eject { command hdiutil eject `df | grep Volumes | grep -i "$@" | ruby -ne 'puts $_[/^[^ ]*/]'`; } if command -v brew &> /dev/null; then if [[ -s `brew --prefix`/share/chruby/chruby.sh ]]; then source `brew --prefix`/share/chruby/chruby.sh source `brew --prefix`/share/chruby/auto.sh chruby ruby fi fi if command -v direnv &> /dev/null; then eval "$(direnv hook zsh)" fi if command -v selecta &> /dev/null; then # Run Selecta in the current working directory, appending the selected path, if # any, to the current command. function insert-selecta-path-in-command-line() { local selected_path # Print a newline or we'll clobber the old prompt. echo # Find the path; abort if the user doesn't select anything. selected_path=$(find * -type f | selecta) || return # Append the selection to the current command buffer. eval 'LBUFFER="$LBUFFER$selected_path"' # Redraw the prompt since Selecta has drawn several new lines of text. zle reset-prompt } # Create the zle widget zle -N insert-selecta-path-in-command-line # Bind the key to the newly created widget bindkey "^S" "insert-selecta-path-in-command-line" fi [[ -s "$HOME/.zshrc.local" ]] && . "$HOME/.zshrc.local"