我最近切换到iTerm2并喜欢它。我想知道是否有一种方法可以使用配置文件来对应您所在的环境/特定机器。
如果我在我的Mac上的一个窗口中执行任务,则配置文件显示为默认值,但如果我ssh到一台机器(比如dev0),iTerm上的配置文件将更新到配置文件dev0。一旦我完成dev0并调用exit,配置文件将再次切换到默认值。
我意识到一个解决方法是每当我想要ssh到另一台机器并且有办法区分时打开一个特定的配置文件,但如果连接关闭它需要你注意文本而不是说背景窗口。
这可能吗?如果没有,如何添加此功能,有没有可以贡献的方式?
答案 0 :(得分:52)
iTerm2支持自动转义代码,可以动态更改配置文件。把它放在.bashrc或.bash_profile中。
<esc>]50;SetProfile=X^G
其中X是个人资料。例如,要将配置文件更改为名为“Foo”的配置文件,请使用以下shell脚本:
#!/bin/bash
echo -e "\033]50;SetProfile=Foo\a"
要在注销时将其更改回来,请将代码更改为〜/ .bash_logout中的默认值。
答案 1 :(得分:11)
假设您有两个配置文件,一个名为 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
现在您可以轻松地交换配置文件&lt; 3。
如果您使用bash,我相信步骤类似,但您可以修改~/.bashrc
和~/.bash_logout
<强>演示强>
答案 2 :(得分:11)
每晚最新的iTerm2(编写本文时为2.9.20150329,每晚编辑)可让您轻松完成。您可以下载here。
安装并打开后:
curl
的脚本并安装它。 在本地计算机上执行相同操作。echo $HOST
时获得的主机名。 并不总是您在提示中看到的那个。 exit
,您将返回到本地个人资料。您可以无缝地将此解决方案与@esod's answer结合使用 注意:在我专门为桌面创建配置文件而不是使用默认配置文件之前,它对我不起作用。
有关详细信息,请参阅the documentation。
答案 3 :(得分:0)
我有同样的愿望,发现这可以在应用程序首选项中的iTerm 2(Build 1.0.0.20130319)中完成。
您可以使用与默认预设不同的预设来指定配置文件(例如远程配置文件),方法是:
个人资料 - &gt;打开个人资料 选择配置文件并单击编辑配置文件... 转到“颜色”选项卡,然后从“加载预设...”列表中的列表中选择此配置文件的预设。
此外,我为不同的配置文件设置了Keys快捷键,因此我可以让一个iTerm窗口看起来与另一个窗口不同。我是这样做的:
我的默认配置文件有黑色背景,但有时它有助于我拥有白色背景。我复制了我的默认配置文件,并将新配置文件命名为DefaultLight。在我的默认配置文件中,我转到Keys选项卡,在其中我创建了一个新的Profile Shortcut Key,其键盘快捷键是^ + cmd + n,其操作是带有Profile的New Window,其Profile是DefaultLight。
保存prefrences后,cmd + n打开一个黑色背景的新窗口,^ + cmd + n打开一个带有白色背景的新窗口。
如果您有兴趣进一步了解,还可以在键盘快捷键首选项中使用带有配置文件操作的新选项卡。
答案 4 :(得分:0)
就我而言,我需要将Yohaï Berreby's answer与我的主持人结合使用。设置实现此功能。
- 在自动配置文件切换中,点击&#39; +&#39;并添加本地计算机的主机名。主机名是在目标计算机上运行echo $ HOST时获得的主机名。它并不总是您在提示中看到的那个。
醇>
我的登台服务器没有设置$ HOST,主机名是:
[devel@alveo-staging ~]$ hostname
alveo-staging
但我无法将主机名设置为alveo-staging
。因为实际上 alveo-staging 只是真实主机名(alveo-staging.xxx)的别名,可以在/etc/hosts
中设置。
因此,快速解决方案是使用*通配符,将规则设置为*staging*
。
然后它有效。
答案 5 :(得分:0)
步骤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" }
步骤3:
弄清您的个人资料
exec $SHELL -l
第4步:
切换您的iterm主题资料
it2prof dark
it2prof light
答案 6 :(得分:0)
对于 Shell 用户: 1.创建一个鱼功能:
'c:\\users\\reese\\Anaconda\\pkgs'
functions it2prof > ~/.config/fish/functions/it2prof.fish
文件中并保存:~/.config/fish/functions/it2prof.fish
function it2prof
echo -e "\033]50;SetProfile=$argv\a"
end