feat: add zsh
This commit is contained in:
@@ -9,3 +9,4 @@ cn.sh
|
||||
__pycache__
|
||||
Makefile
|
||||
.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