95 lines
2.2 KiB
Bash
95 lines
2.2 KiB
Bash
platform=`uname`
|
|
|
|
# Path to your oh-my-zsh configuration.
|
|
ZSH=$HOME/.zsh
|
|
|
|
# Plugins to enable - they are found in .zsh/plugins
|
|
PLUGINS=(safe-paste)
|
|
|
|
fpath=($fpath $ZSH/func)
|
|
typeset -U fpath
|
|
|
|
is_plugin() {
|
|
local base_dir=$1
|
|
local name=$2
|
|
test -f $base_dir/plugins/$name/$name.plugin.zsh \
|
|
|| test -f $base_dir/plugins/$name/_$name
|
|
}
|
|
|
|
# Add all defined plugins to fpath. This must be done
|
|
# before running compinit.
|
|
for plugin ($PLUGINS); do
|
|
if is_plugin $ZSH $plugin; then
|
|
fpath=($ZSH/plugins/$plugin $fpath)
|
|
fi
|
|
done
|
|
|
|
# Load all of the plugins that were defined in ~/.zshrc
|
|
for plugin ($PLUGINS); do
|
|
if [ -f $ZSH/plugins/$plugin/$plugin.plugin.zsh ]; then
|
|
source $ZSH/plugins/$plugin/$plugin.plugin.zsh
|
|
fi
|
|
done
|
|
|
|
# Setup the custom prompt
|
|
setopt promptsubst
|
|
autoload -U promptinit
|
|
promptinit
|
|
prompt grb
|
|
|
|
# Linux specific config
|
|
if [[ $platform == 'Linux' ]]; then
|
|
# Set caps to ctrl
|
|
setxkbmap -option 'caps:ctrl_modifier'
|
|
# Make caps act as Esc when tapped. Require `xcape` package.
|
|
xcape -e 'Caps_Lock=Escape'
|
|
fi
|
|
|
|
# Autoload things before calling compinit
|
|
autoload -Uz compinit
|
|
compinit
|
|
|
|
# Never know when you're gonna need to popd!
|
|
setopt AUTO_PUSHD
|
|
|
|
# Allow completing of the remainder of a command
|
|
bindkey "^N" insert-last-word
|
|
|
|
# Show contents of directory after cd-ing into it
|
|
chpwd() {
|
|
if [[ $platform == 'Linux' ]]; then
|
|
ls -lrthG --color
|
|
elif [[ $platform == 'Darwin' ]]; then
|
|
ls -lG
|
|
fi
|
|
}
|
|
|
|
# Save a ton of history
|
|
export HISTSIZE=20000
|
|
export HISTFILE="$HOME/.history"
|
|
export SAVEHIST=$HISTSIZE
|
|
setopt appendhistory autocd
|
|
bindkey -e
|
|
|
|
# Set to this to use case-sensitive completion
|
|
# CASE_SENSITIVE="true"
|
|
|
|
# Comment this out to disable weekly auto-update checks
|
|
# DISABLE_AUTO_UPDATE="true"
|
|
|
|
# Uncomment following line if you want to disable colors in ls
|
|
# DISABLE_LS_COLORS="true"
|
|
|
|
# Uncomment following line if you want to disable autosetting terminal title.
|
|
# DISABLE_AUTO_TITLE="true"
|
|
|
|
# Uncomment following line if you want red dots to be displayed while waiting for completion
|
|
# COMPLETION_WAITING_DOTS="true"
|
|
|
|
# Load all of the config files in ~/.zsh that end in .zsh
|
|
source $ZSH/lib/*.zsh
|
|
|
|
# Source my custom files after oh-my-zsh so I can override things.
|
|
source $HOME/.dotfiles/zsh/aliases
|
|
source $HOME/.dotfiles/zsh/functions
|