|
# 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 |
|
|
|
# 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 --- if set to "random", it will |
|
# load a random theme each time oh-my-zsh is loaded, in which case, |
|
# to know which specific one was loaded, run: echo $RANDOM_THEME |
|
# See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes |
|
#ZSH_THEME="powerlevel10k/powerlevel10k" |
|
|
|
# Set list of themes to pick from when loading at random |
|
# Setting this variable when ZSH_THEME=random will cause zsh to load |
|
# a theme from this variable instead of looking in ~/.oh-my-zsh/themes/ |
|
# If set to an empty array, this variable will have no effect. |
|
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" ) |
|
|
|
# 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 automatically update without prompting. |
|
# DISABLE_UPDATE_PROMPT="true" |
|
|
|
# Uncomment the following line to change how often to auto-update (in days). |
|
# export UPDATE_ZSH_DAYS=13 |
|
|
|
# Uncomment the following line if pasting URLs and other text is messed up. |
|
# DISABLE_MAGIC_FUNCTIONS=true |
|
|
|
# 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. |
|
# You can set one of the optional three formats: |
|
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" |
|
# or set a custom format using the strftime function format specifications, |
|
# see 'man strftime' for details. |
|
# 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? |
|
# Standard 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-z |
|
zsh-autosuggestions |
|
zsh-syntax-highlighting |
|
macos |
|
history |
|
gh |
|
zsh-interactive-cd |
|
jira #if use jira, it's useful |
|
alias-finder # for help and docs. eg. alias-find "git pull" |
|
aliases # list aliase |
|
colored-man-pages # colored git help clone |
|
gitfast # autocomplete for git cli |
|
copyfile # copy file content |
|
copypath # copy path |
|
frontend-search # |
|
command-not-found |
|
themes # change ZSH theme |
|
fzf # cool, use alias pf |
|
git-extras |
|
) |
|
|
|
source $ZSH/oh-my-zsh.sh |
|
|
|
#source $(dirname $(gem which colorls))/tab_complete.sh |
|
|
|
# User configuration |
|
|
|
# export MANPATH="/usr/local/man:$MANPATH" |
|
|
|
# You may need to manually set your language environment |
|
# export LANG=en_US.UTF-8 |
|
|
|
# Preferred editor for local and remote sessions |
|
# if [[ -n $SSH_CONNECTION ]]; then |
|
# export EDITOR='vim' |
|
# else |
|
# export EDITOR='mvim' |
|
# fi |
|
|
|
# Compilation flags |
|
# export ARCHFLAGS="-arch x86_64" |
|
|
|
# Set personal aliases, overriding those provided by oh-my-zsh libs, |
|
# plugins, and themes. Aliases can be placed here, though oh-my-zsh |
|
# users are encouraged to define aliases within the ZSH_CUSTOM folder. |
|
# For a full list of active aliases, run `alias`. |
|
# |
|
# Example aliases |
|
# alias zshconfig="mate ~/.zshrc" |
|
# alias ohmyzsh="mate ~/.oh-my-zsh" |
|
|
|
#source ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions.zsh |
|
#source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting.zsh |
|
|
|
alias proxy='export all_proxy=socks5://127.0.0.1:7890' |
|
alias unproxy='unset all_proxy' |
|
|
|
#alias lc='colorls -lA --sd' |
|
#alias lt2='colorls --tree=2' |
|
#alias lt3='colorls --tree=3' |
|
#alias lt4='colorls --tree=4' |
|
#alias ls='colorls' |
|
|
|
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 |
|
export PATH="/usr/local/opt/ruby/bin:$PATH" |
|
export PATH=$PATH:$(ruby -e 'puts Gem.bindir') |
|
export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles |
|
|
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh. |
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh |
|
|
|
# try to fix brew error - unknown or unsupported macOS version: :dunno (MacOSVersionError) |
|
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.zprofile |
|
eval "$(/opt/homebrew/bin/brew shellenv)" |
|
|
|
eval "$(rbenv init - zsh)" |
|
eval "$(starship init zsh)" |
|
|
|
# speed up rust download. https://zhuanlan.zhihu.com/p/126201430 |
|
export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static |
|
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup |
|
|
|
# place this after nvm initialization! |
|
autoload -U add-zsh-hook |
|
load-nvmrc() { |
|
local node_version="$(nvm version)" |
|
local nvmrc_path="$(nvm_find_nvmrc)" |
|
|
|
if [ -n "$nvmrc_path" ]; then |
|
local nvmrc_node_version=$(nvm version "$(cat "${nvmrc_path}")") |
|
|
|
if [ "$nvmrc_node_version" = "N/A" ]; then |
|
nvm install |
|
elif [ "$nvmrc_node_version" != "$node_version" ]; then |
|
nvm use |
|
fi |
|
elif [ "$node_version" != "$(nvm version default)" ]; then |
|
echo "Reverting to nvm default version" |
|
nvm use default |
|
fi |
|
} |
|
add-zsh-hook chpwd load-nvmrc |
|
load-nvmrc |
|
|
|
export GPG_TTY=$(tty) |
|
|
|
#csharprepl |
|
export PATH="$PATH:$HOME/.dotnet/tools" |
|
|
|
export FZF_BASE="/opt/homebrew/bin/fzf" |
|
# fzf preview |
|
alias pf="fzf --preview='less {}' --bind shift-up:preview-page-up,shift-down:preview-page-down" |
PowerShell Git Plugin:
https://github.com/gluons/powershell-git-aliases