【发布时间】:2014-09-01 04:51:15
【问题描述】:
我在 iterm2 上安装了 Oh-my-zsh。每当运行 ssh 时,如何让我的终端更改主题?如果脚本还将背景更改为导入的预设之一,那就太好了。
我是一个完整的 bash 菜鸟。请用新手语言解释。
【问题讨论】:
标签: terminal zsh iterm2 oh-my-zsh
我在 iterm2 上安装了 Oh-my-zsh。每当运行 ssh 时,如何让我的终端更改主题?如果脚本还将背景更改为导入的预设之一,那就太好了。
我是一个完整的 bash 菜鸟。请用新手语言解释。
【问题讨论】:
标签: terminal zsh iterm2 oh-my-zsh
您需要知道的第一件事是,.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 语句,然后自定义它
【讨论】:
您可以在提示符前添加主机名。
关注这个gist
只需将此文件的内容粘贴到:
~/.oh-my-zsh/themes/robbyrussell.zsh-theme
然后基本上在你的本地机器上:
在你的远程机器上:
在我的情况下,ded12 是我的遥控器的主机名,我只更改了我的遥控器上的主题文件,如果我在本地更改它,我的本地主机名也会在提示之前添加
【讨论】: