我在iterm2上安装了Oh-my-zsh。每当运行ssh时,如何使终端更改主题?如果脚本还将背景更改为导入的其中一个预设,那就太好了。
我是一个完整的bash菜鸟。请用新手语言解释。
答案 0 :(得分:7)
您需要知道的第一件事是 .zshrc 是在zsh上打开新会话之前运行的脚本。因此,提供zsh是您的默认shell,当您在本地计算机上打开终端时,它会运行 .zshrc 。当您打开到该计算机的ssh会话时,它也会运行 .zshrc !
在 .zshrc 内,您可以找到评论的那段代码:
# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
# export EDITOR='vim'
# else
# export EDITOR='mvim'
# fi
您可以使用此示例来实现您的目标:
if [[ -n $SSH_CONNECTION ]]; then
ZSH_THEME="robbyrussell"
else
ZSH_THEME="agnoster"
fi
其中 robbyrussell 将用于您的ssh会话, agnoster 用于其他会话。因此,只需将上面设置主题的行替换为上面的if / else语句,然后自定义
答案 1 :(得分:0)
您可以在主动提示前添加主机名。
遵循此gist
只需粘贴此文件的内容:
~/.oh-my-zsh/themes/robbyrussell.zsh-theme
然后基本上在你的本地机器上:
在你的远程机器上:
在我的情况下,ded12是我的遥控器的主机名,我只更改了我的遥控器上的主题文件,如果我在本地更改它,我的本地主机名也会在提示符前面加上
答案 2 :(得分:-1)
我认为你不能这样做,但你可以在远程主机上更改zsh-theme。 使用ssh连接到远程主机,然后编辑.zshrc:
ZSH_THEME="ys"
注销/登录以检查更改。
在本地计算机和远程服务器中保持主题不同。