Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 77d51c65b3 | |||
| 2b3544b4a5 | |||
| d4cb2f8acb |
+41
-11
@@ -1,13 +1,25 @@
|
|||||||
# ── PATH ──
|
# ── PATH ──
|
||||||
export PATH="$HOME/go/bin:$HOME/.bun/bin:$PATH"
|
export PATH="$HOME/go/bin:$HOME/.bun/bin:$PATH"
|
||||||
|
|
||||||
|
# ── 默认编辑器与分页器 ──
|
||||||
|
export EDITOR=nvim
|
||||||
|
export VISUAL=nvim
|
||||||
|
export PAGER=less
|
||||||
|
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
||||||
|
|
||||||
# ── Shell 选项 ──
|
# ── Shell 选项 ──
|
||||||
setopt AUTO_CD # 输目录名直接 cd
|
setopt AUTO_CD # 输目录名直接 cd
|
||||||
setopt INTERACTIVE_COMMENTS # 允许交互式 # 注释
|
setopt INTERACTIVE_COMMENTS # 允许交互式 # 注释
|
||||||
setopt NO_BEEP # 关蜂鸣
|
setopt NO_BEEP # 关蜂鸣
|
||||||
|
|
||||||
# ── 补全系统(必须在 fzf-tab 之前)──
|
# ── 补全系统(必须在 fzf-tab 之前)──
|
||||||
autoload -Uz compinit && compinit
|
# 每天重建一次 zcompdump,其余启动直接复用,节省启动时间
|
||||||
|
autoload -Uz compinit
|
||||||
|
if [[ -n ~/.zcompdump(#qN.mh+24) ]]; then
|
||||||
|
compinit
|
||||||
|
else
|
||||||
|
compinit -C
|
||||||
|
fi
|
||||||
|
|
||||||
# ── 外部插件 ──
|
# ── 外部插件 ──
|
||||||
source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh
|
source /usr/share/zsh/plugins/fzf-tab-git/fzf-tab.plugin.zsh
|
||||||
@@ -23,9 +35,18 @@ sudo-command-line() {
|
|||||||
zle -N sudo-command-line
|
zle -N sudo-command-line
|
||||||
bindkey '\e\e' sudo-command-line
|
bindkey '\e\e' sudo-command-line
|
||||||
|
|
||||||
|
# ── Ctrl+Space 接受自动建议 ──
|
||||||
|
bindkey '^ ' autosuggest-accept
|
||||||
|
|
||||||
|
# ── FZF 默认行为(fd 联动 + 现代 UI)──
|
||||||
|
export FZF_DEFAULT_OPTS='--height=50% --layout=reverse --border --preview-window=right:60%'
|
||||||
|
export FZF_DEFAULT_COMMAND='fd --type f --hidden --follow --exclude .git'
|
||||||
|
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
|
||||||
|
export FZF_ALT_C_COMMAND='fd --type d --hidden --follow --exclude .git'
|
||||||
|
|
||||||
# ── 工具初始化(顺序重要)──
|
# ── 工具初始化(顺序重要)──
|
||||||
eval "$(starship init zsh)"
|
eval "$(starship init zsh)"
|
||||||
eval "$(zoxide init zsh)"
|
eval "$(zoxide init --cmd cd zsh)" # cd 直接被 zoxide 接管,cdi 自动可用
|
||||||
eval "$(mise activate zsh)"
|
eval "$(mise activate zsh)"
|
||||||
eval "$(direnv hook zsh)"
|
eval "$(direnv hook zsh)"
|
||||||
eval "$(fzf --zsh)" # Ctrl+T 搜文件, Alt+C 搜目录
|
eval "$(fzf --zsh)" # Ctrl+T 搜文件, Alt+C 搜目录
|
||||||
@@ -33,27 +54,36 @@ eval "$(atuin init zsh)" # 必须在 fzf 之后,接管 Ctrl+R
|
|||||||
|
|
||||||
# ── 别名 ──
|
# ── 别名 ──
|
||||||
# 导航
|
# 导航
|
||||||
alias cd="z"
|
|
||||||
alias cdi="zi"
|
|
||||||
alias ..="cd .."
|
alias ..="cd .."
|
||||||
alias ...="cd ../.."
|
alias ...="cd ../.."
|
||||||
|
|
||||||
# 文件列表
|
# 文件列表(公共参数提取,DRY)
|
||||||
alias ls="eza --icons --group-directories-first"
|
_EZA_BASE=(--icons --group-directories-first --git)
|
||||||
alias ll="eza -la --icons --git --group-directories-first"
|
alias ls="eza ${_EZA_BASE}"
|
||||||
alias la="eza -a --icons --group-directories-first"
|
alias ll="eza -la ${_EZA_BASE}"
|
||||||
alias lt="eza --tree --level=2 --icons"
|
alias la="eza -a ${_EZA_BASE}"
|
||||||
|
alias lt="eza --tree --level=2 ${_EZA_BASE}"
|
||||||
|
|
||||||
# 工具
|
# 工具
|
||||||
alias cat="bat --paging=never"
|
alias cat="bat --paging=never"
|
||||||
alias rm="trash-put"
|
alias rm="gomi"
|
||||||
alias lg="lazygit"
|
alias lg="lazygit"
|
||||||
alias vi="nvim"
|
alias vi="nvim"
|
||||||
alias x="aunpack" # 万能解压(支持 tar/zip/7z/rar 等)
|
alias x="ouch decompress" # 万能解压(zip/tar/gz/bz2/xz/zst/7z/rar)
|
||||||
|
|
||||||
# 网络
|
# 网络
|
||||||
alias http="xh"
|
alias http="xh"
|
||||||
|
|
||||||
|
# ── yazi wrapper:退出时自动 cd 到最后目录 ──
|
||||||
|
function yy() {
|
||||||
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")" cwd
|
||||||
|
yazi "$@" --cwd-file="$tmp"
|
||||||
|
if cwd="$(command cat -- "$tmp")" && [[ -n "$cwd" && "$cwd" != "$PWD" ]]; then
|
||||||
|
builtin cd -- "$cwd"
|
||||||
|
fi
|
||||||
|
command rm -f -- "$tmp"
|
||||||
|
}
|
||||||
|
|
||||||
# ── WSL 剪贴板 ──
|
# ── WSL 剪贴板 ──
|
||||||
if [[ -n "$WSL_DISTRO_NAME" ]]; then
|
if [[ -n "$WSL_DISTRO_NAME" ]]; then
|
||||||
alias pbcopy="clip.exe"
|
alias pbcopy="clip.exe"
|
||||||
|
|||||||
+2
-5
@@ -34,7 +34,6 @@ class BaseModule(Module):
|
|||||||
def pacman_packages(self) -> set[str]:
|
def pacman_packages(self) -> set[str]:
|
||||||
return {
|
return {
|
||||||
"7zip",
|
"7zip",
|
||||||
"atool",
|
|
||||||
"atuin",
|
"atuin",
|
||||||
"base-devel",
|
"base-devel",
|
||||||
"base",
|
"base",
|
||||||
@@ -51,16 +50,13 @@ class BaseModule(Module):
|
|||||||
"git",
|
"git",
|
||||||
"jq",
|
"jq",
|
||||||
"micro",
|
"micro",
|
||||||
|
"ouch",
|
||||||
"procs",
|
"procs",
|
||||||
"ripgrep",
|
"ripgrep",
|
||||||
"sd",
|
"sd",
|
||||||
"starship",
|
"starship",
|
||||||
"sudo",
|
"sudo",
|
||||||
"tealdeer",
|
"tealdeer",
|
||||||
"trash-cli",
|
|
||||||
"unrar",
|
|
||||||
"unzip",
|
|
||||||
"vim",
|
|
||||||
"wget",
|
"wget",
|
||||||
"xh",
|
"xh",
|
||||||
"yazi",
|
"yazi",
|
||||||
@@ -72,4 +68,5 @@ class BaseModule(Module):
|
|||||||
def aur_packages(self) -> set[str]:
|
def aur_packages(self) -> set[str]:
|
||||||
return {
|
return {
|
||||||
"decman",
|
"decman",
|
||||||
|
"gomi-bin",
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user