#################################################################################################################################################### # Options section #################################################################################################################################################### setopt correct # Auto correct mistakes setopt extendedglob # Extended globbing. Allows using regular expressions with * setopt nocaseglob # Case insensitive globbing setopt rcexpandparam # Array expension with parameters setopt nocheckjobs # Don't warn about running processes when exiting setopt numericglobsort # Sort filenames numerically when it makes sense setopt nobeep # No beep setopt appendhistory # Immediately append history instead of overwriting setopt histignorealldups # If a new command is a duplicate, remove the older one setopt autocd # if only directory path is entered, cd there. setopt inc_append_history # save commands are added to the history immediately, otherwise only when shell exits. zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' # Case insensitive tab completion zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" # Colored completion (different colors for dirs/files/etc) zstyle ':completion:*' rehash true # automatically find new executables in path # Speed up completions zstyle ':completion:*' accept-exact '*(N)' zstyle ':completion:*' use-cache on zstyle ':completion:*' cache-path ~/.zsh/cache HISTFILE=~/.zhistory HISTSIZE=100000 SAVEHIST=10000000 WORDCHARS=${WORDCHARS//\/[&.;]} # Don't consider certain characters part of the word #################################################################################################################################################### #################################################################################################################################################### # Keybindings section #################################################################################################################################################### bindkey -e # bindkey '^[[7~' beginning-of-line # Home key bindkey '^[[H' beginning-of-line # Home key if [[ "${terminfo[khome]}" != "" ]]; then bindkey "${terminfo[khome]}" beginning-of-line # [Home] - Go to beginning of line fi bindkey '^[[8~' end-of-line # End key bindkey '^[[F' end-of-line # End key if [[ "${terminfo[kend]}" != "" ]]; then bindkey "${terminfo[kend]}" end-of-line # [End] - Go to end of line fi bindkey '^[[2~' overwrite-mode # Insert key bindkey '^[[3~' delete-char # Delete key bindkey '^[[C' forward-char # Right key bindkey '^[[D' backward-char # Left key bindkey '^[[5~' history-beginning-search-backward # Page up key bindkey '^[[6~' history-beginning-search-forward # Page down key # Navigate words with ctrl+arrow keys bindkey '^[Oc' forward-word # bindkey '^[Od' backward-word # bindkey '^[[1;5D' backward-word # bindkey '^[[1;5C' forward-word # #################################################################################################################################################### #################################################################################################################################################### # Alias section #################################################################################################################################################### alias cp="cp -i" # Confirm before overwriting something alias df='df -h' # Human-readable sizes alias free='free -m' # Show sizes in MB #################################################################################################################################################### #################################################################################################################################################### # Theming section #################################################################################################################################################### autoload -U compinit colors zcalc compinit -d colors # Color man pages export LESS_TERMCAP_mb=$'\E[01;32m' export LESS_TERMCAP_md=$'\E[01;32m' export LESS_TERMCAP_me=$'\E[0m' export LESS_TERMCAP_se=$'\E[0m' export LESS_TERMCAP_so=$'\E[01;47;34m' export LESS_TERMCAP_ue=$'\E[0m' export LESS_TERMCAP_us=$'\E[01;36m' export LESS=-R #################################################################################################################################################### #################################################################################################################################################### # Startup print section #################################################################################################################################################### echo Hi ${(C)USER} cat << "EOF" __..--''``---....___ _..._ __ /// //_.-' .-/"; ` ``<._ ``.''_ `. / // / ///_.-' _..--.'_ \ `( ) ) // // / (_..-' // (< _ ;_..__ ; `' / /// / // // // `-._,_)' // / ``--...____..-' /// / // EOF #################################################################################################################################################### #################################################################################################################################################### # Powerlevel10k #################################################################################################################################################### # Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc. # Initialization code that may require console input (password prompts, [y/n] # confirmations, etc.) must go above this block; everything else may go below. if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" fi source /usr/share/zsh-theme-powerlevel10k/powerlevel10k.zsh-theme # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh #################################################################################################################################################### #################################################################################################################################################### # Plugins section: #################################################################################################################################################### # Enable fish style features ################################################################################### # Use syntax highlighting source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh # Use history substring search source /usr/share/zsh/plugins/zsh-history-substring-search/zsh-history-substring-search.zsh # Use auto-suggestions source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh # Colorize the output of the "ls" shell command via LS_COLORS . /usr/share/LS_COLORS/dircolors.sh ################################################################################### ################################################################################### # Load profile configs ################################################################################### if [ -r "$HOME/.zprofile" ] ; then source ~/.zprofile fi ################################################################################### ####################################################################################################################################################