112 lines
3.9 KiB
Bash
112 lines
3.9 KiB
Bash
# 设置history文件路径
|
|
export HISTFILE=~/.zsh_history
|
|
# 设置保存的history条目数量
|
|
export HISTSIZE=1000
|
|
export SAVEHIST=1000
|
|
# 配置history选项
|
|
setopt appendhistory
|
|
setopt sharehistory
|
|
# 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
|
|
|
|
|
|
### Added by Zinit's installer
|
|
if [[ ! -f $HOME/.local/share/zinit/zinit.git/zinit.zsh ]]; then
|
|
print -P "%F{33} %F{220}Installing %F{33}ZDHARMA-CONTINUUM%F{220} Initiative Plugin Manager (%F{33}zdharma-continuum/zinit%F{220})…%f"
|
|
command mkdir -p "$HOME/.local/share/zinit" && command chmod g-rwX "$HOME/.local/share/zinit"
|
|
command git clone https://github.com/zdharma-continuum/zinit "$HOME/.local/share/zinit/zinit.git" && \
|
|
print -P "%F{33} %F{34}Installation successful.%f%b" || \
|
|
print -P "%F{160} The clone has failed.%f%b"
|
|
fi
|
|
|
|
source "$HOME/.local/share/zinit/zinit.git/zinit.zsh"
|
|
autoload -Uz _zinit
|
|
(( ${+_comps} )) && _comps[zinit]=_zinit
|
|
|
|
# Load a few important annexes, without Turbo
|
|
# (this is currently required for annexes)
|
|
zinit light-mode for \
|
|
zdharma-continuum/zinit-annex-as-monitor \
|
|
zdharma-continuum/zinit-annex-bin-gem-node \
|
|
zdharma-continuum/zinit-annex-patch-dl \
|
|
zdharma-continuum/zinit-annex-rust
|
|
|
|
### End of Zinit's installer chunk
|
|
|
|
zinit ice depth=1; zinit light romkatv/powerlevel10k
|
|
zinit light zsh-users/zsh-autosuggestions
|
|
zinit light zsh-users/zsh-syntax-highlighting
|
|
|
|
# To customize prompt, run `p10k configure` or edit ~/.p10k.zsh.
|
|
[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh
|
|
|
|
# Command not found conf
|
|
source /etc/zsh_command_not_found
|
|
|
|
# eza config
|
|
########
|
|
if [[ $(command -v exa) ]] {
|
|
DISABLE_LS_COLORS=true
|
|
unset LS_BIN_FILE
|
|
for i (/bin/ls ${PREFIX}/bin/ls /usr/bin/ls /usr/local/bin/ls) {
|
|
[[ ! -x ${i} ]] || {
|
|
local LS_BIN_FILE=${i}
|
|
break
|
|
}
|
|
}
|
|
[[ -n ${LS_BIN_FILE} ]] || local LS_BIN_FILE=$(whereis ls 2>/dev/null | awk '{print $2}')
|
|
alias lls=${LS_BIN_FILE}
|
|
# lls is the original ls. lls为原版ls
|
|
alias ls="exa --color=auto"
|
|
# Exa is a modern version of ls. exa是一款优秀的ls替代品,拥有更好的文件展示体验,输出结果更快,使用rust编写。
|
|
alias l='exa -lbah --icons'
|
|
alias la='exa -labgh --icons'
|
|
alias ll='exa -lbg --icons'
|
|
alias lsa='exa -lbagR --icons'
|
|
alias lst='exa -lTabgh --icons' # 输入lst,将展示类似于tree的树状列表。
|
|
} else {
|
|
alias ls='ls --color=auto'
|
|
# color should not be always.
|
|
alias lst='tree -pCsh'
|
|
alias l='ls -lah'
|
|
alias la='ls -lAh'
|
|
alias ll='ls -lh'
|
|
alias lsa='ls -lah'
|
|
}
|
|
alias md=mkdir
|
|
if [[ $(command -v batcat) ]] {
|
|
alias bat=batcat
|
|
alias cat='bat -pp'
|
|
alias ccat=cat
|
|
}
|
|
|
|
# Key bindings for Ctrl+Arrow keys
|
|
bindkey '^[[1;5C' forward-word
|
|
bindkey '^[[1;5D' backward-word
|
|
|
|
|
|
# >>> conda initialize >>>
|
|
# !! Contents within this block are managed by 'conda init' !!
|
|
__conda_setup="$('/home/lichx/miniconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
|
|
if [ $? -eq 0 ]; then
|
|
eval "$__conda_setup"
|
|
else
|
|
if [ -f "/home/lichx/miniconda3/etc/profile.d/conda.sh" ]; then
|
|
. "/home/lichx/miniconda3/etc/profile.d/conda.sh"
|
|
else
|
|
export PATH="/home/lichx/miniconda3/bin:$PATH"
|
|
fi
|
|
fi
|
|
unset __conda_setup
|
|
# <<< conda initialize <<<
|
|
|
|
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
|
|
|
|
alias set_proxy='export http_proxy=http://127.0.0.1:7890 https_proxy=http://127.0.0.1:7890'
|
|
alias unset_proxy='unset http_proxy https_proxy' |