95 lines
3.7 KiB
Plaintext
95 lines
3.7 KiB
Plaintext
# main zsh settings. env in .zshrc
|
||
# read second
|
||
|
||
if [ $debug = 1 ]; then echo reading config from $0
|
||
fi
|
||
## set up oh-my-posh shell
|
||
export POSH_SESSION_ID="9b903a91-4978-487d-967e-6aed529e69ca"
|
||
|
||
# source global shell alias & variables files
|
||
[ -f "$XDG_CONFIG_HOME/shell/alias" ] && source "$XDG_CONFIG_HOME/shell/alias"
|
||
[ -f "$XDG_CONFIG_HOME/shell/vars" ] && source "$XDG_CONFIG_HOME/shell/vars"
|
||
|
||
# load modules
|
||
zmodload zsh/complist
|
||
autoload -U compinit && compinit
|
||
autoload -U colors && colors
|
||
# autoload -U tetris # main attraction of zsh, obviously
|
||
|
||
|
||
# cmp opts
|
||
zstyle ':completion:*' menu select # tab opens cmp menu
|
||
zstyle ':completion:*' special-dirs true # force . and .. to show in cmp menu
|
||
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} ma=0\;33 # colorize cmp menu
|
||
# zstyle ':completion:*' file-list true # more detailed list
|
||
zstyle ':completion:*' squeeze-slashes false # explicit disable to allow /*/ expansion
|
||
|
||
# main opts
|
||
setopt append_history inc_append_history share_history # better history
|
||
# on exit, history appends rather than overwrites; history is appended as soon as cmds executed; history shared across sessions
|
||
setopt auto_menu menu_complete # autocmp first menu match
|
||
setopt autocd # type a dir to cd
|
||
setopt auto_param_slash # when a dir is completed, add a / instead of a trailing space
|
||
setopt no_case_glob no_case_match # make cmp case insensitive
|
||
setopt globdots # include dotfiles
|
||
setopt extended_glob # match ~ # ^
|
||
setopt interactive_comments # allow comments in shell
|
||
unsetopt prompt_sp # don't autoclean blanklines
|
||
stty stop undef # disable accidental ctrl s
|
||
|
||
# history opts
|
||
HISTSIZE=1000000
|
||
SAVEHIST=1000000
|
||
HISTFILE="$XDG_CACHE_HOME/zsh_history" # move histfile to cache
|
||
HISTCONTROL=ignoreboth # consecutive duplicates & commands starting with space are not saved
|
||
|
||
|
||
# fzf setup
|
||
source <(fzf --zsh) # allow for fzf history widget
|
||
|
||
|
||
# binds
|
||
bindkey "^a" beginning-of-line
|
||
bindkey "^e" end-of-line
|
||
bindkey "^k" kill-line
|
||
bindkey "^j" backward-word
|
||
bindkey "^k" forward-word
|
||
bindkey "^H" backward-kill-word
|
||
# ctrl J & K for going up and down in prev commands
|
||
bindkey "^J" history-search-forward
|
||
bindkey "^K" history-search-backward
|
||
bindkey '^R' fzf-history-widget
|
||
|
||
|
||
# open fff file manager with ctrl f
|
||
# openfff() {
|
||
# fff <$TTY
|
||
# zle redisplay
|
||
#}
|
||
#zle -N openfff
|
||
#bindkey '^f' openfff
|
||
|
||
|
||
# set up prompt
|
||
NEWLINE=$'\n'
|
||
# PROMPT="${NEWLINE}%K{#2E3440}%F{#E5E9F0}$(date +%_I:%M%P) %K{#3b4252}%F{#ECEFF4} %n %K{#4c566a} %~ %f%k ❯ " # nord theme
|
||
# PROMPT="${NEWLINE}%K{#32302f}%F{#d5c4a1} $0 %K{#3c3836}%F{#d5c4a1} %n %K{#504945} %~ %f%k ❯ " # warmer theme
|
||
# PROMPT="${NEWLINE}%K{$COL0}%F{$COL1}$(date +%_I:%M%P) %K{$COL0}%F{$COL2} %n %K{$COL3} %~ %f%k ❯ " # pywal colors, from postrun script
|
||
|
||
# echo -e "${NEWLINE}\033[48;2;46;52;64;38;2;216;222;233m $0 \033[0m\033[48;2;59;66;82;38;2;216;222;233m $(uptime -p | cut -c 4-) \033[0m\033[48;2;76;86;106;38;2;216;222;233m $(uname -r) \033[0m" # nord theme
|
||
# echo -e "${NEWLINE}\x1b[38;5;137m\x1b[48;5;0m it's$(date +%_I:%M%P) \x1b[38;5;180m\x1b[48;5;0m $(uptime -p | cut -c 4-) \x1b[38;5;223m\x1b[48;5;0m $(uname -r) \033[0m" # warmer theme
|
||
# echo -e "${NEWLINE}\x1b[38;5;137m\x1b[48;5;0m it's$(print -P '%D{%_I:%M%P}\n') \x1b[38;5;180m\x1b[48;5;0m $(uptime -p | cut -c 4-) \x1b[38;5;223m\x1b[48;5;0m $(uname -r) \033[0m" # current
|
||
|
||
# autosuggestions
|
||
# requires zsh-autosuggestions
|
||
# source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||
|
||
# syntax highlighting
|
||
# requires zsh-syntax-highlighting package
|
||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||
|
||
#import oh-my-posh shell
|
||
export POSH_SESSION_ID="b5bf3508-938e-40c1-8126-f73becb49bca";
|
||
source $'/home/venus/.cache/oh-my-posh/init.14695981039346656037.zsh'
|
||
|