# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH=$HOME/.oh-my-zsh # Set name of the theme to load. Optionally, if you set this to "random" # it'll load a random theme each time that oh-my-zsh is loaded. # See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes # ZSH_THEME="robbyrussell" # ZSH_THEME="avit" #ZSH_THEME="bureau" ZSH_THEME=powerlevel10k/powerlevel10k # Uncomment the following line to use case-sensitive completion. # CASE_SENSITIVE="true" # Uncomment the following line to use hyphen-insensitive completion. Case # sensitive completion must be off. _ and - will be interchangeable. # HYPHEN_INSENSITIVE="true" # Uncomment the following line to disable bi-weekly auto-update checks. # DISABLE_AUTO_UPDATE="true" # Uncomment the following line to change how often to auto-update (in days). # export UPDATE_ZSH_DAYS=13 # Uncomment the following line to disable colors in ls. # DISABLE_LS_COLORS="true" # Uncomment the following line to disable auto-setting terminal title. # DISABLE_AUTO_TITLE="true" # Uncomment the following line to enable command auto-correction. ENABLE_CORRECTION="true" # Uncomment the following line to display red dots whilst waiting for completion. COMPLETION_WAITING_DOTS="true" # Uncomment the following line if you want to disable marking untracked files # under VCS as dirty. This makes repository status check for large repositories # much, much faster. # DISABLE_UNTRACKED_FILES_DIRTY="true" # Uncomment the following line if you want to change the command execution time # stamp shown in the history command output. # The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" # HIST_STAMPS="mm/dd/yyyy" # Would you like to use another custom folder than $ZSH/custom? # ZSH_CUSTOM=/path/to/new-custom-folder # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ # Example format: plugins=(rails git textmate ruby lighthouse) # Add wisely, as too many plugins slow down shell startup. plugins=(git zsh-autosuggestions zsh-completions vi-mode) # User configuration # --------------------------------------------------------------------------------------------------------------------- # ==> Source External Configs # source $ZSH/oh-my-zsh.sh source $HOME/.zsh_aliases source $HOME/.zsh_functions # If there is a .zsh_local file, source it [ -f ~/.zsh_local ] && source ~/.zsh_local # --------------------------------------------------------------------------------------------------------------------- # ==> History # HISTFILE=$HOME/.zsh_history HISTSIZE=50000 SAVEHIST=50000 setopt EXTENDED_HISTORY setopt HIST_VERIFY setopt HIST_EXPIRE_DUPS_FIRST # Expire duplicate entries first when trimming history. setopt HIST_IGNORE_DUPS # Dont record an entry that was just recorded again. setopt HIST_IGNORE_ALL_DUPS # Delete old recorded entry if new entry is a duplicate. setopt HIST_FIND_NO_DUPS # Do not display a line previously found. setopt HIST_IGNORE_SPACE # Dont record an entry starting with a space. setopt HIST_SAVE_NO_DUPS # Dont write duplicate entries in the history file. setopt inc_append_history setopt share_history # --------------------------------------------------------------------------------------------------------------------- # ==> KEY BINDINGS - from https://dougblack.io/words/zsh-vi-mode.html # bindkey -v bindkey '^P' up-history bindkey '^N' down-history bindkey '^?' backward-delete-char bindkey '^h' backward-delete-char bindkey '^w' backward-kill-word bindkey '^r' history-incremental-search-backward export KEYTIMEOUT=1 # --------------------------------------------------------------------------------------------------------------------- # ==> FZF # [ -f ~/.fzf.zsh ] && source ~/.fzf.zsh # Include hidden files export FZF_DEFAULT_COMMAND='find .' # --------------------------------------------------------------------------------------------------------------------- # ==> set PATH so it includes user's private ~/bin if it exists PATH="$HOME/.local/bin:$HOME/bin:$PATH" # To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. [[ -f ~/.p10k.zsh ]] && source ~/.p10k.zsh