iTerm 2个人资料

时间:2011-12-22 00:15:59

标签: macos iterm

我最近切换到iTerm2并喜欢它。我想知道是否有一种方法可以使用配置文件来对应您所在的环境/特定机器。

如果我在我的Mac上的一个窗口中执行任务,则配置文件显示为默认值,但如果我ssh到一台机器(比如dev0),iTerm上的配置文件将更新到配置文件dev0。一旦我完成dev0并调用exit,配置文件将再次切换到默认值。

我意识到一个解决方法是每当我想要ssh到另一台机器并且有办法区分时打开一个特定的配置文件,但如果连接关闭它需要你注意文本而不是说背景窗口。

这可能吗?如果没有,如何添加此功能,有没有可以贡献的方式?

7 个答案:

答案 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)

zsh用户

假设您有两个配置文件,一个名为 mac (适用于您的主要计算机),另一个名称用于 linux (您的远程计算机)

进入会话时,我们需要告诉zsh加载我们的个人资料

  1. 连接到远程linux
  2. ~/.zshrc添加echo -e "\033]50;SetProfile=linux\a"
  3. 立即生效您的文件:source ~/.zshrc
  4. 您的新主题应该在iterm会话中可见。
  5. 退出会话时,我们需要告诉zsh切换回我们原来的个人资料

    1. 连接到远程linux
    2. 在linux ~/.zlogout中添加以下内容
    3. if [ "$SHLVL" = 1 ]; then
        echo -e "\033]50;SetProfile=mac\a"
        clear
      fi
      

      现在您可以轻松地交换配置文件&lt; 3。

      如果您使用bash,我相信步骤类似,但您可以修改~/.bashrc~/.bash_logout

      <强>演示

      demo of session based profiles in iterm2

答案 2 :(得分:11)

每晚最新的iTerm2(编写本文时为2.9.20150329,每晚编辑)可让您轻松完成。您可以下载here

安装并打开后:

  1. 通过ssh登录您的远程计算机,然后点击 iTerm2 (应用程序菜单)&gt; 安装Shell集成。它将下载一个带有curl的脚本并安装它。 在本地计算机上执行相同操作
  2. 转到偏好设置&gt;的配置文件即可。
  3. 为本地计算机创建新配置文件。自定义它以满足您的需求(更改背景颜色,名称等)
  4. 转到高级标签,然后滚动到底部。
  5. 自动配置文件切换中,点击&#39; +&#39;并添加本地计算机的主机名。主机名是在目标计算机上运行echo $HOST时获得的主机名。 并不总是您在提示中看到的那个。
  6. 为您的远程计算机创建另一个配置文件,并对其进行自定义。
  7. 自动配置文件切换
  8. 中添加远程计算机的主机名
  9. 现在,如果您进入远程计算机,您的个人资料将会更改,如果您{s}会话exit,您将返回到本地个人资料。
  10. 您可以无缝地将此解决方案与@esod's answer结合使用 注意:在我专门为桌面创建配置文件而不是使用默认配置文件之前,它对我不起作用。

    有关详细信息,请参阅the documentation

答案 3 :(得分:0)

我有同样的愿望,发现这可以在应用程序首选项中的iTerm 2(Build 1.0.0.20130319)中完成。

您可以使用与默认预设不同的预设来指定配置文件(例如远程配置文件),方法是:

个人资料 - &gt;打开个人资料 选择配置文件并单击编辑配置文件... 转到“颜色”选项卡,然后从“加载预设...”列表中的列表中选择此配置文件的预设。

此外,我为不同的配置文件设置了Keys快捷键,因此我可以让一个iTerm窗口看起来与另一个窗口不同。我是这样做的:

  1. 在首选项中创建新的个人资料
  2. 在偏好设置中创建新的配置文件快捷键 - &gt;其操作为带有配置文件的新窗口的键
  3. 我的默认配置文件有黑色背景,但有时它有助于我拥有白色背景。我复制了我的默认配置文件,并将新配置文件命名为DefaultLight。在我的默认配置文件中,我转到Keys选项卡,在其中我创建了一个新的Profile Shortcut Key,其键盘快捷键是^ + cmd + n,其操作是带有Profile的New Window,其Profile是DefaultLight。

    保存prefrences后,cmd + n打开一个黑色背景的新窗口,^ + cmd + n打开一个带有白色背景的新窗口。

    如果您有兴趣进一步了解,还可以在键盘快捷键首选项中使用带有配置文件操作的新选项卡。

答案 4 :(得分:0)

就我而言,我需要将Yohaï Berreby's answer与我的主持人结合使用。设置实现此功能。

  
      
  1. 在自动配置文件切换中,点击&#39; +&#39;并添加本地计算机的主机名。主机名是在目标计算机上运行echo $ HOST时获得的主机名。它并不总是您在提示中看到的那个。
  2.   

我的登台服务器没有设置$ HOST,主机名是:

[devel@alveo-staging ~]$ hostname
alveo-staging

但我无法将主机名设置为alveo-staging。因为实际上 alveo-staging 只是真实主机名(alveo-staging.xxx)的别名,可以在/etc/hosts中设置。

因此,快速解决方案是使用*通配符,将规则设置为*staging*

然后它有效。

答案 5 :(得分:0)

步骤1:

自定义您的iterm个人资料,例如darklight

步骤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'

  1. 将此内容添加到functions it2prof > ~/.config/fish/functions/it2prof.fish文件中并保存:
~/.config/fish/functions/it2prof.fish
  1. 享受您的命令:

function it2prof echo -e "\033]50;SetProfile=$argv\a" end