feat: add zsh
This commit is contained in:
@@ -9,3 +9,4 @@ cn.sh
|
|||||||
__pycache__
|
__pycache__
|
||||||
Makefile
|
Makefile
|
||||||
.claude/
|
.claude/
|
||||||
|
script/clash.sh
|
||||||
|
|||||||
Executable
+26
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
DOTFILE="${DOTFILE:-$HOME/.dotfile}"
|
||||||
|
ZSHRC_REPO="$DOTFILE/zsh/.zshrc"
|
||||||
|
ZSHRC_HOME="$HOME/.zshrc"
|
||||||
|
|
||||||
|
echo "Link zshrc"
|
||||||
|
if [[ -f "$ZSHRC_HOME" && ! -L "$ZSHRC_HOME" ]]; then
|
||||||
|
mv "$ZSHRC_HOME" "$ZSHRC_HOME.bak"
|
||||||
|
echo " 已备份原文件 -> $ZSHRC_HOME.bak"
|
||||||
|
fi
|
||||||
|
ln -sf "$ZSHRC_REPO" "$ZSHRC_HOME"
|
||||||
|
echo " $ZSHRC_HOME -> $ZSHRC_REPO"
|
||||||
|
|
||||||
|
if [[ ! -d "$HOME/.oh-my-zsh" ]]; then
|
||||||
|
echo "安装 Oh My Zsh(--unattended:不改默认 shell、不自动进 zsh;--keep-zshrc:保留已链接的 .zshrc)…"
|
||||||
|
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" "" --unattended --keep-zshrc
|
||||||
|
else
|
||||||
|
echo "Oh My Zsh 已存在,跳过安装 (~/.oh-my-zsh)"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ""
|
||||||
|
echo "完成。当前仓库的 .zshrc 已启用 z 插件(Oh My Zsh plugins/z)。"
|
||||||
|
echo "未修改默认登录 shell;若需临时使用: zsh"
|
||||||
|
echo "本机额外配置可写入 ~/.zshrc.local(不会被链接覆盖)。"
|
||||||
+18
@@ -0,0 +1,18 @@
|
|||||||
|
# Oh My Zsh(由 ~/.dotfile/script/zsh-init.sh 安装到 ~/.oh-my-zsh)
|
||||||
|
export ZSH="$HOME/.oh-my-zsh"
|
||||||
|
ZSH_THEME="robbyrussell"
|
||||||
|
|
||||||
|
# z:目录跳转频率学习(OMZ 自带 plugins/z)
|
||||||
|
plugins=(
|
||||||
|
git
|
||||||
|
z
|
||||||
|
)
|
||||||
|
|
||||||
|
if [[ -d "$ZSH" ]]; then
|
||||||
|
source "$ZSH/oh-my-zsh.sh"
|
||||||
|
else
|
||||||
|
echo "[zsh] Oh My Zsh 未安装,请运行: bash ~/.dotfile/script/zsh-init.sh" >&2
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 本机私有配置(不纳入 dotfile)
|
||||||
|
[[ -f "$HOME/.zshrc.local" ]] && source "$HOME/.zshrc.local"
|
||||||
Reference in New Issue
Block a user