Created
October 30, 2024 08:33
-
-
Save vvnsrzn/22637605b73568c91b7d66a666b2983e to your computer and use it in GitHub Desktop.
zshrc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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 | |
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet | |
# Set the directory we want to store zinit and plugins | |
ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" | |
# Download Zinit, if it's not there yet | |
if [ ! -d "$ZINIT_HOME" ]; then | |
mkdir -p "$(dirname $ZINIT_HOME)" | |
git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" | |
fi | |
# Source/Load zinit | |
source "${ZINIT_HOME}/zinit.zsh" | |
# Add in Powerlevel10k | |
zinit ice depth=1; zinit light romkatv/powerlevel10k | |
# zsh-fzf-history-search | |
zinit ice lucid wait'0'; zinit light joshskidmore/zsh-fzf-history-search | |
# Add in zsh plugins | |
zinit light zsh-users/zsh-syntax-highlighting | |
zinit light zsh-users/zsh-completions | |
zinit light zsh-users/zsh-autosuggestions | |
zinit light Aloxaf/fzf-tab | |
# Add in snippets | |
zinit snippet OMZP::git | |
zinit snippet OMZP::sudo | |
zinit snippet OMZP::node | |
zinit snippet OMZP::nvm | |
zinit snippet OMZP::command-not-found | |
# Load completions | |
autoload -Uz compinit && compinit | |
zinit cdreplay -q | |
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. | |
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh | |
# Keybindings | |
bindkey -e | |
bindkey '^p' history-search-backward | |
bindkey '^n' history-search-forward | |
bindkey '^[w' kill-region | |
# History | |
HISTSIZE=5000 | |
HISTFILE=~/.zsh_history | |
SAVEHIST=$HISTSIZE | |
HISTDUP=erase | |
setopt appendhistory | |
setopt sharehistory | |
setopt hist_ignore_space | |
setopt hist_ignore_all_dups | |
setopt hist_save_no_dups | |
setopt hist_ignore_dups | |
setopt hist_find_no_dups | |
# Aliases | |
alias ls='ls --color' | |
alias c='clear' | |
alias bat="batcat" | |
alias p="fzf --preview 'bat --style=numbers --color=always --line-range :500 {}' | xargs -r xdg-open" | |
# Completion styling | |
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}' | |
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}" | |
zstyle ':completion:*' menu no | |
zstyle ':fzf-tab:complete:cd:*' fzf-preview 'ls $realpath' | |
zstyle ':fzf-tab:complete:__zoxide_z:*' fzf-preview 'ls $realpath' | |
# pnpm | |
export PNPM_HOME="/home/vivian/.local/share/pnpm" | |
export PATH="$PNPM_HOME:$PATH" | |
export PATH=$HOME/.local/bin:$PATH | |
# Shell integrations | |
# eval "$(fzf --zsh)" | |
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh | |
export NVM_DIR="$HOME/.nvm" | |
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm | |
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment