.zshrc 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #!/bin/zsh
  2. ####################
  3. # #
  4. # ZOOMER SHELL #
  5. # #
  6. ####################
  7. [ -f "$HOME/.cache/wal/colors.sh" ] && source "$HOME/.cache/wal/colors.sh" || wal -s -t -e --theme BubblePop.json
  8. [ -f "$HOME/.config/shell/alias.sh" ] && source "$HOME/.config/shell/alias.sh"
  9. # Enable colors
  10. autoload -U colors && colors
  11. #
  12. # ZSH prompt
  13. if [ "$(hostname)" = "framework" ]; then
  14. PROMPT="%n%F{${color1}}%f%m %F{${color1}}%f%~
  15. %F{${color1}}%F{${foreground}} "
  16. RPROMPT=""
  17. else
  18. PROMPT="%n%F{${color1}}%f%m %F{${color1}}%f%~
  19. %F{${color1}}%F{${foreground}} "
  20. RPROMPT=""
  21. fi
  22. # Move history file
  23. HISTSIZE=100
  24. SAVEHIST=100
  25. HISTFILE=~/.cache/zsh_history
  26. # Basic auto/tab complete:
  27. autoload -U compinit
  28. zstyle ':completion:*' menu select
  29. zmodload zsh/complist
  30. compinit -D
  31. _comp_options+=(globdots) # Include hidden files.
  32. # Use vim keys in tab complete menu:
  33. bindkey -M menuselect 'h' vi-backward-char
  34. bindkey -M menuselect 'k' vi-up-line-or-history
  35. bindkey -M menuselect 'l' vi-forward-char
  36. bindkey -M menuselect 'j' vi-down-line-or-history
  37. # vi mode
  38. bindkey -v
  39. export KEYTIMEOUT=1
  40. # Change cursor shape for different vi modes.
  41. function zle-keymap-select {
  42. if [[ ${KEYMAP} == vicmd ]] ||
  43. [[ $1 = 'block' ]]; then
  44. echo -ne '\e[1 q'
  45. elif [[ ${KEYMAP} == main ]] ||
  46. [[ ${KEYMAP} == viins ]] ||
  47. [[ ${KEYMAP} = '' ]] ||
  48. [[ $1 = 'beam' ]]; then
  49. echo -ne '\e[5 q'
  50. fi
  51. }
  52. zle -N zle-keymap-select
  53. echo -ne '\e[5 q' # Use beam shape cursor on startup.
  54. preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
  55. # Plugins, load last
  56. [ -f "$HOME/.config/shell/plugins.zsh" ] && source "$HOME/.config/shell/plugins.zsh"