服务器优化zsh外观简易版
效果说明
配置完成后,终端大概会变成下面这种效果:
(myenv) ➜ project
如果当前目录是 git 仓库,也会显示当前分支:
(myenv) ➜ project git:(main)
如果 conda 环境是通过完整路径激活的,例如:
conda activate /path/to/conda/envs/myenv
默认可能会显示成:
(/path/to/conda/envs/myenv) ➜ project git:(main)
下面的配置会把它优化成只显示环境名:
(myenv) ➜ project git:(main)
一键配置命令
这个版本同时适合两种情况:
- 有 root / sudo 权限的服务器:优先用
apt-get - 没有 root 权限的服务器:自动改用
conda install
# 1. 安装依赖
# 有 root/sudo 权限时使用 apt-get
# 没有权限时使用 conda 安装,不会修改系统目录
if command -v apt-get >/dev/null 2>&1 && [ "$(id -u)" = "0" ]; then
apt-get update
apt-get install -y zsh git curl tmux
elif command -v apt-get >/dev/null 2>&1 && command -v sudo >/dev/null 2>&1 && sudo -n true 2>/dev/null; then
sudo apt-get update
sudo apt-get install -y zsh git curl tmux
else
conda install -y -c conda-forge zsh git curl tmux
fi
# 2. 备份原来的 zsh 配置
cp ~/.zshrc ~/.zshrc.bak.$(date +%Y%m%d_%H%M%S) 2>/dev/null || true
# 3. 安装 oh-my-zsh
if [ ! -d "$HOME/.oh-my-zsh" ]; then
git clone https://github.com/ohmyzsh/ohmyzsh.git "$HOME/.oh-my-zsh"
fi
# 4. 写入 oh-my-zsh 基础配置
cat > ~/.zshrc <<'EOF'
export ZSH="$HOME/.oh-my-zsh"
ZSH_THEME="robbyrussell"
plugins=(git)
source $ZSH/oh-my-zsh.sh
# >>> conda initialize >>>
# 让 zsh 正确识别 conda activate
if command -v conda >/dev/null 2>&1; then
__conda_setup="$(conda shell.zsh hook 2> /dev/null)"
if [ $? -eq 0 ]; then
eval "$__conda_setup"
fi
unset __conda_setup
fi
# <<< conda initialize <<<
EOF
# 5. 让 conda prompt 只显示环境名,不显示完整路径
conda config --set changeps1 true
conda config --set env_prompt '({name}) '
# 6. 进入 zsh
exec zsh
只修复 conda 显示完整路径
如果你已经配置好了 zsh,只是 conda 环境显示成了完整路径:
(/path/to/conda/envs/myenv) ➜ project git:(main)
可以只执行下面这几行:
conda config --set changeps1 true
conda config --set env_prompt '({name}) '
conda deactivate
conda activate /path/to/conda/envs/myenv
修复后应该变成:
(myenv) ➜ project git:(main)
如果你的环境本身可以直接通过名字激活,也可以这样:
conda activate myenv
Tmux 终端复用器精简操作笔记
在远程计算节点执行高负载或长周期任务时,利用 Tmux 可确保 SSH 会话断开后任务不被异常终止。
1. Session 级别控制
- 实例化并命名一个全新 Session:
tmux new -s <name>
- 打印当前正在后台挂起的所有 Session 列表:
tmux ls
- 重新接入指定的后台 Session:
tmux a -t <name>
- 强制销毁指定的 Session:
tmux kill-session -t <name>
2. 核心概念与前缀键
- 所有的内部快捷键触发前,均需先输入前缀组合键。
- 默认前缀键为 Ctrl + b。操作方式为:同时按下 Ctrl 和 b,松开后再按后续功能键。
3. Window 级别控制
- 创建全新 Window:前缀键后按 c
- 焦点切换至下一个 Window:前缀键后按 n
- 焦点切换至上一个 Window:前缀键后按 p
- 通过数字索引跳转 Window:前缀键后按数字键,例如 0 或 1
- 销毁当前 Window:前缀键后按 &,随后按 y 确认
4. 挂起与脱离操作
- 将当前 Session 剥离至后台继续运行,并返回物理机终端:前缀键后按 d
5. 回滚、鼠标与复制体验优化
- 将常用体验配置写入 Tmux 配置文件:
cat >> ~/.tmux.conf <<'EOF'
set -g mouse on
set -g history-limit 100000
setw -g mode-keys vi
EOF
重新加载 Tmux 配置,使其立即生效:
tmux source-file ~/.tmux.conf
即完成配置。
服务器优化zsh外观简易版
https://ryanjxy123.github.io/post/share_somethings/env_configuration/zsh_config/