我最近切换到iTerm2并喜欢它.我想知道是否有一种方法可以使用配置文件来对应您所在的环境/特定机器.
如果我在我的Mac上的一个窗口中执行任务,则配置文件显示为默认值,但如果我将ssh插入计算机(例如dev0),则iTerm上的配置文件将更新为配置文件dev0.完成dev0并调用exit后,配置文件将再次切换到默认值.
我意识到一个解决方法是每当我想要ssh到另一台机器并且有办法区分时打开一个特定的配置文件,但如果连接关闭它需要你注意文本而不是说窗口的背景.
这可能吗?如果没有,如何添加此功能,有没有可以贡献的方式?
Geo*_*rge 53
iTerm2支持自定义转义码,可以动态更改配置文件.把它放在.bashrc或.bash_profile中.
<esc>]50;SetProfile=X^G
Run Code Online (Sandbox Code Playgroud)
其中X是配置文件.例如,要将配置文件更改为名为"Foo"的配置文件,请使用以下shell脚本:
#!/bin/bash
echo -e "\033]50;SetProfile=Foo\a"
Run Code Online (Sandbox Code Playgroud)
要在注销时将其更改回来,请将代码更改为〜/ .bash_logout中的默认值.
lfe*_*445 11
对于zsh用户
假设你有2个配置文件,一个名为mac(用于主要机器),一个用于linux(远程机器)
进入会话时,我们需要告诉zsh加载我们的个人资料
~/.zshrc加echo -e "\033]50;SetProfile=linux\a"source ~/.zshrc退出会话时,我们需要告诉zsh切换回原始配置文件
~/.zlogout添加以下内容if [ "$SHLVL" = 1 ]; then
echo -e "\033]50;SetProfile=mac\a"
clear
fi
Run Code Online (Sandbox Code Playgroud)
现在你可以轻松地交换配置文件<3.
如果你使用bash,我相信步骤是相似的,但你会修改~/.bashrc和~/.bash_logout
演示

Yoh*_*eby 11
每晚最新的iTerm2(编写本文时编译2.9.20150329)可让您轻松完成.你可以在这里下载.
安装并打开后:
curl并安装它.在本地计算机上执行相同操作.echo $HOST在目标计算机上运行时获得的主机名.它并不总是您在提示中看到的那个.exit退出ssh会话,您将返回到本地个人资料.您可以无缝地将此解决方案与@ esod的答案相结合.
注意:在我专门为桌面创建配置文件而不是使用默认配置文件之前,它对我不起作用.
有关详细信息,请参阅文档.
步骤1:
自定义您的 iterm 配置文件,例如dark,light
第2步:
在您的 shell 配置文件之前添加代码,例如.bashrc or .zshrc
# Change iterm2 profile. Usage it2prof ProfileName (case sensitive)
it2prof() { echo -e "\033]50;SetProfile=$1\a" }
Run Code Online (Sandbox Code Playgroud)
步骤3:
让你的个人资料有意义
exec $SHELL -l
Run Code Online (Sandbox Code Playgroud)
步骤4:
切换您的 iterm 主题配置文件
it2prof dark
it2prof light
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23265 次 |
| 最近记录: |