summaryrefslogtreecommitdiff
path: root/zsh/.zshrc
diff options
context:
space:
mode:
Diffstat (limited to 'zsh/.zshrc')
-rw-r--r--zsh/.zshrc79
1 files changed, 79 insertions, 0 deletions
diff --git a/zsh/.zshrc b/zsh/.zshrc
new file mode 100644
index 0000000..1c13e80
--- /dev/null
+++ b/zsh/.zshrc
@@ -0,0 +1,79 @@
+HISTFILE="$ZDOTDIR"/hist
+SAVEHIST=1000
+HISTSIZE=1000
+setopt APPEND_HISTORY
+setopt HIST_FIND_NO_DUPS
+setopt HIST_EXPIRE_DUPS_FIRST
+setopt HIST_VERIFY
+setopt HIST_IGNORE_DUPS
+setopt INC_APPEND_HISTORY
+setopt HIST_REDUCE_BLANKS
+
+if [ -f "$XDG_CONFIG_HOME"/sh/aliases ]; then
+ source "$XDG_CONFIG_HOME"/sh/aliases
+fi
+if [ -f "$XDG_CONFIG_HOME"/sh/functions ]; then
+ source "$XDG_CONFIG_HOME"/sh/functions
+fi
+
+bindkey "^?" backward-delete-char
+
+# bindkey -v
+
+if [ "$TERM" = "st-256color" ] || [ "$TERM" = "xterm-256color" ]; then
+ function zle-line-init () { echoti smkx }
+ function zle-line-finish () { echoti rmkx }
+
+ zle -N zle-line-init
+ zle -N zle-line-finish
+fi
+
+which pacman >/dev/null && COLOR1="cyan"
+which apt >/dev/null && COLOR1="green"
+which syspatch >/dev/null && COLOR1="red"
+
+MYPROMPT='%B%F{'"$COLOR1"'}[%n@%m]:%f%F{white}%~%f%F{'"$COLOR1"'}%#%f%b '
+function zle-line-init zle-keymap-select {
+ VIM_PROMPT="%B%F{blue}[%n@%m]:%f%F{white}%~%f%F{blue}%#%f%b "
+ PS1="${${KEYMAP/vicmd/$VIM_PROMPT}/main/$MYPROMPT}"
+ #PS1="$PROMPT $KEYMAP"
+ zle reset-prompt
+}
+
+zle -N zle-line-init
+zle -N zle-keymap-select
+export KEYTIMEOUT=1
+
+autoload -Uz compinit promptinit
+compinit -d $CONFIG/zcompdump
+promptinit
+autoload -Uz up-line-or-beginning-search down-line-or-beginning-search
+zle -N up-line-or-beginning-search
+zle -N down-line-or-beginning-search
+
+zstyle ':completion:*' menu select
+zstyle ':completion::complete:*' gain-privileges 1
+zstyle ':completion:*' rehash true
+
+setopt COMPLETE_ALIASES
+setopt AUTO_CD
+
+typeset -g -A key
+
+key[Up]="${terminfo[kcuu1]}"
+key[Down]="${terminfo[kcud1]}"
+key[Left]="${terminfo[kcub1]}"
+key[Right]="${terminfo[kcuf1]}"
+key[Shift-Tab]="${terminfo[kcbt]}"
+key[Delete]="${terminfo[kdch1]}"
+
+[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-beginning-search
+bindkey -- '^[[A' up-line-or-beginning-search
+bindkey -- '^[[B' down-line-or-beginning-search
+[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-beginning-search
+[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
+[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
+[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
+[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
+
+#eval "$(starship init zsh)"