ZSH Agnoster 主题显示机器名称
ZSH Agnoster Theme showing machine name
我有一个开发服务器托管在 Digital Ocean 上,使用 Ubuntu 14.04。我将 shell 切换到 ZSH,并决定使用 Agnoster 主题。为了让 user@hostname
停止显示,我在 .zshrc 文件中设置了 DEFAULT_USER
。
出于某种原因,在 ubuntu 服务器上,这不起作用。主机名仍然显示,并且不会消失。我在我的 Mac OSX 上做同样的事情,它工作正常。
以下是部分截图:
有人知道这是怎么回事吗?我什至试过 DEFAULT_USER="$USER@$HOST"
但没有成功。
如果我回到默认 Robby Russell 主题,它工作得很好。
是根据this的特征;当我们 ssh
ing 时,将显示主机名。
在 Agnoster 主题上重写 prompt_context
或 build_prompt
函数将会拯救。例如,将下面的代码片段放在 ~/.zshrc
的最后。
# redefine prompt_context for hiding user@hostname
prompt_context () { }
您可以在 .zshrc
文件中设置 DEFAULT_USER="[user name]"
,它将停止在您的终端中显示 user@hostname
。
为了获得 [user name]
,在您的终端中输入 id -un
,它将输出 [user name]
值。
我也在用 agnoster 主题。
编辑 agnoster.zsh-theme
并找到 $user@%m
并删除 @%m
。
图片样本:
这是我对前两个答案的版本。他们解释得很清楚。我再合并。
步骤 1. 通过 vim .zshrc
打开您的 .zshrc
文件
第 2 步。转到文件末尾。
粘贴此代码:
再次小心缩进您的代码
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
参考link:agnoster theme code
希望对您有所帮助:)
1。
打开 ~/.zshrc
添加行:
DEFAULT_USER=whoami
或 export DEFAULT_USER= myusername (mac os x)
2。
打开 ~/.oh-my-zsh/themes/agnoster.zsh-theme 文件。
找到##主提示符
为 prompt_context 行添加 #。
如果您使用的是 macOS,在 ~/.zshrc
文件中添加一行就足以在终端中隐藏机器名称:
# Where we specify the theme
ZSH_THEME="agnoster"
# Force yourself as the system's default user
DEFAULT_USER="$(whoami)"
这将否定 "$user" != "$DEFAULT_USER"
检查 here,从而在本地隐藏机器名称,同时仍然为 SSH 连接显示它。
将此放在 'source $ZSH/oh-my-zsh.sh'
之前的 .zshrc 文件中
DEFAULT_USER=drewr
我也使用 Agnoster,这就是我为了不显示用户名而设置的。
希望对您有所帮助。
我们不需要编辑 agnoster.zsh-theme
但在 .zshrc
末尾附加以下代码:
export USER=''
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
我们可以像 export USER='john'
一样更改 export USER=''
以显示我们想要的内容。
与上下文相关:
有时通过 "source ~/.zshrc" 获取 zshrc 可能不起作用。启动一个新终端以查看更新的更改。
我的配置在 ~/.oh-my-zsh/themes/agnoster.zsh-theme
prompt_context() {
# Custom (Random emoji)
emojis=("⚡️" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "${emojis[$RAND_EMOJI_N]} "
}
虽然接受的答案非常好,但我更愿意尽可能少地修改我的 .zshrc
文件以保持内容干净。
因此,一种略有不同的方法是覆盖主题(根据 https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes 上的建议)。
- 转到您的
~/.oh-my-zsh/custom/themes
文件夹
- 创建一个名为
agnoster.zsh-theme
的文件
- 添加您的自定义并保存(例如,在这里,重新定义
prompt_context()
所以它什么都不做):
prompt_context() {}
- 用您的更改更新您的终端:
source ~/.zshrc
我有一个开发服务器托管在 Digital Ocean 上,使用 Ubuntu 14.04。我将 shell 切换到 ZSH,并决定使用 Agnoster 主题。为了让 user@hostname
停止显示,我在 .zshrc 文件中设置了 DEFAULT_USER
。
出于某种原因,在 ubuntu 服务器上,这不起作用。主机名仍然显示,并且不会消失。我在我的 Mac OSX 上做同样的事情,它工作正常。
以下是部分截图:
有人知道这是怎么回事吗?我什至试过 DEFAULT_USER="$USER@$HOST"
但没有成功。
如果我回到默认 Robby Russell 主题,它工作得很好。
是根据this的特征;当我们 ssh
ing 时,将显示主机名。
在 Agnoster 主题上重写 prompt_context
或 build_prompt
函数将会拯救。例如,将下面的代码片段放在 ~/.zshrc
的最后。
# redefine prompt_context for hiding user@hostname
prompt_context () { }
您可以在 .zshrc
文件中设置 DEFAULT_USER="[user name]"
,它将停止在您的终端中显示 user@hostname
。
为了获得 [user name]
,在您的终端中输入 id -un
,它将输出 [user name]
值。
我也在用 agnoster 主题。
编辑 agnoster.zsh-theme
并找到 $user@%m
并删除 @%m
。
图片样本:
这是我对前两个答案的版本。他们解释得很清楚。我再合并。
步骤 1. 通过
vim .zshrc
打开您的 第 2 步。转到文件末尾。
粘贴此代码:
.zshrc
文件
再次小心缩进您的代码
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
参考link:agnoster theme code
希望对您有所帮助:)
1。
打开 ~/.zshrc
添加行:
DEFAULT_USER=whoami
或 export DEFAULT_USER= myusername (mac os x)
2。 打开 ~/.oh-my-zsh/themes/agnoster.zsh-theme 文件。
找到##主提示符 为 prompt_context 行添加 #。
如果您使用的是 macOS,在 ~/.zshrc
文件中添加一行就足以在终端中隐藏机器名称:
# Where we specify the theme
ZSH_THEME="agnoster"
# Force yourself as the system's default user
DEFAULT_USER="$(whoami)"
这将否定 "$user" != "$DEFAULT_USER"
检查 here,从而在本地隐藏机器名称,同时仍然为 SSH 连接显示它。
将此放在 'source $ZSH/oh-my-zsh.sh'
之前的 .zshrc 文件中DEFAULT_USER=drewr
我也使用 Agnoster,这就是我为了不显示用户名而设置的。
希望对您有所帮助。
我们不需要编辑 agnoster.zsh-theme
但在 .zshrc
末尾附加以下代码:
export USER=''
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
我们可以像 export USER='john'
一样更改 export USER=''
以显示我们想要的内容。
与上下文相关: 有时通过 "source ~/.zshrc" 获取 zshrc 可能不起作用。启动一个新终端以查看更新的更改。
我的配置在 ~/.oh-my-zsh/themes/agnoster.zsh-theme
prompt_context() {
# Custom (Random emoji)
emojis=("⚡️" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "" "")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "${emojis[$RAND_EMOJI_N]} "
}
虽然接受的答案非常好,但我更愿意尽可能少地修改我的 .zshrc
文件以保持内容干净。
因此,一种略有不同的方法是覆盖主题(根据 https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes 上的建议)。
- 转到您的
~/.oh-my-zsh/custom/themes
文件夹 - 创建一个名为
agnoster.zsh-theme
的文件
- 添加您的自定义并保存(例如,在这里,重新定义
prompt_context()
所以它什么都不做):
prompt_context() {}
- 用您的更改更新您的终端:
source ~/.zshrc