80 lines
1.6 KiB
Bash
80 lines
1.6 KiB
Bash
#!/bin/zsh
|
|
|
|
# History {{{
|
|
HISTFILE="$XDG_CACHE_HOME/zsh/history"
|
|
HISTSIZE=100000
|
|
SAVEHIST=100000
|
|
setopt hist_ignore_dups
|
|
setopt hist_ignore_space
|
|
setopt share_history
|
|
setopt autopushd
|
|
|
|
mkdir -p $(dirname "$HISTFILE")
|
|
# }}}
|
|
|
|
# Various options {{{
|
|
setopt autocd extendedglob nomatch notify histfindnodups
|
|
unsetopt beep
|
|
setopt interactive_comments
|
|
# }}}
|
|
|
|
# Vim mode
|
|
bindkey -v
|
|
|
|
# Keybindings {{{
|
|
bindkey '^?' backward-delete-char
|
|
bindkey '^h' backward-delete-char
|
|
bindkey '^w' backward-kill-word
|
|
bindkey '^r' history-incremental-pattern-search-backward
|
|
bindkey '^k' history-beginning-search-backward
|
|
bindkey '^j' history-beginning-search-forward
|
|
bindkey '^p' push-input
|
|
bindkey '^ ' fzf-cd-widget
|
|
# }}}
|
|
|
|
# Prompt {{{
|
|
autoload -Uz vcs_info
|
|
precmd_functions+=( vcs_info )
|
|
setopt prompt_subst
|
|
PROMPT="%#$([ -n "$IN_NIX_SHELL" ] && echo '%F{blue}ns%f') %1~%(0?..%F{red})>%f "
|
|
RPROMPT=\$vcs_info_msg_0_
|
|
zstyle ':vcs_info:git:*' check-for-changes true
|
|
zstyle ':vcs_info:git:*' formats '<%b> [%u%c]'
|
|
# }}}
|
|
|
|
# Safe rm {{{
|
|
alias rm='rm -I '
|
|
setopt rm_star_silent
|
|
# }}}
|
|
|
|
for file in completion functions; do
|
|
[ -f "$XDG_CONFIG_HOME/zsh/$file" ] || touch "$XDG_CONFIG_HOME/zsh/$file"
|
|
. "$XDG_CONFIG_HOME/zsh/$file"
|
|
done
|
|
|
|
# GPG Agent {{{
|
|
export GPG_TTY=$(tty)
|
|
gpg-connect-agent updatestartuptty /bye >/dev/null
|
|
# }}}
|
|
|
|
# Base16 {{{
|
|
export BASE16_SHELL="$HOME/.config/base16-shell/"
|
|
[ -n "$PS1" ] && \
|
|
[ -s "$BASE16_SHELL/profile_helper.sh" ] && \
|
|
eval "$("$BASE16_SHELL/profile_helper.sh")"
|
|
# }}}
|
|
|
|
|
|
# NVM {{{
|
|
#if [ -f /usr/share/nvm/init-nvm.sh ]; then
|
|
# source /usr/share/nvm/init-nvm.sh
|
|
#fi
|
|
# }}}
|
|
|
|
# ENVS {{{
|
|
#eval "$(rbenv init -)"
|
|
#. /usr/share/nvm/nvm.sh
|
|
# }}}
|
|
|
|
# vim: set foldmethod=marker
|