Macos iTerm 2配置文件

Macos iTerm 2配置文件,macos,iterm,Macos,Iterm,我最近切换到了iTerm2,我很喜欢它。我想知道是否有一种方法可以使用配置文件来对应您所在的环境/特定机器 比如说,如果我在mac上的一个窗口中执行任务,配置文件将显示为默认配置文件,但是如果我使用ssh连接到一台机器(比如说dev0),iTerm上的配置文件将更新为配置文件dev0。完成dev0并调用exit后,配置文件将再次切换到默认值 我意识到一种解决方法是,每当我想用ssh连接到另一台机器上时,打开一个特定的配置文件,并有办法进行区分,但如果连接关闭,则需要您根据文本进行注意,而不是说窗

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

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

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


这可能吗?如果没有,该功能如何添加?我有什么办法可以贡献吗?

iTerm2支持自定义转义代码,可以动态更改配置文件。将其放入.bashrc或.bash_配置文件中

<esc>]50;SetProfile=X^G

要在注销时将其更改回默认设置,请在~/.bash_logout中输入将配置文件更改回默认设置的代码。

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

通过转到以下位置,您可以为配置文件(例如远程配置文件)指定与默认预设不同的预设:

配置文件->打开的配置文件 选择配置文件并单击“编辑配置文件…”。。。 转到“颜色”选项卡,并从“加载预设”中的列表中为此配置文件选择预设

此外,我还为不同的配置文件设置了快捷键,这样我可以使一个iTerm窗口与另一个窗口的外观不同。我是这样做的:

  • 在首选项中创建新的配置文件
  • 在Preferences->Keys中创建一个新的配置文件快捷键,其操作是使用配置文件新建窗口
  • 我的默认配置文件有一个黑色背景,但有时它帮助我有一个白色背景。我复制默认配置文件并将新配置文件命名为DefaultLight。在我的默认配置文件中,我转到“键”选项卡,在其中创建一个新的配置文件快捷键,其键盘快捷键为^+cmd+n,其操作是使用配置文件新建窗口,其配置文件为DefaultLight

    保存首选项后,cmd+n将打开一个黑色背景的新窗口,^+cmd+n将打开一个白色背景的新窗口


    如果您有兴趣更进一步,还可以在键盘快捷键首选项中添加一个新选项卡,其中包含配置文件操作。

    适用于zsh用户。

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

    进入会话时,我们需要告诉zsh加载我们的配置文件

    exec $SHELL -l
    
  • 连接到远程linux
  • ~/.zshrc
    中添加
    echo-e“\033]50;SetProfile=linux\a”
  • 源文件立即生效:
    source~/.zshrc
  • 您的新主题应该在iterm会话中可见
  • 退出会话时,我们需要告诉zsh切换回原始配置文件

  • 连接到远程linux
  • 在linux中~/.zlogout添加以下内容
  • 现在您可以轻松地交换配置文件最新的iTerm2 nightly(在编写本文时构建2.9.20150329-nightly)允许您轻松地交换配置文件。你可以下载它

    安装并打开后:

  • 通过ssh登录到远程计算机,然后单击iTerm2(应用程序菜单)>安装Shell Integration。它将下载带有
    curl
    的脚本并安装它在本地计算机上执行相同操作
  • 转到首选项配置文件
  • 为本地计算机创建新的配置文件。定制它以满足您的需要(更改背景颜色、名称等)
  • 转到“高级”选项卡并滚动到底部
  • 在自动配置文件切换中,单击“+”并添加本地计算机的主机名。主机名是在目标计算机上运行
    echo$HOST
    时获得的主机名它并不总是您在提示中看到的内容。
  • 创建另一个配置文件,这次是为您的远程计算机创建,并对其进行自定义
  • 在自动配置文件切换中添加远程计算机的主机名
  • 现在,如果您使用ssh连接到远程计算机,您的配置文件将发生更改,如果退出ssh会话,您将返回本地配置文件
  • 您可以将此解决方案与无缝结合。
    注意:直到我专门为桌面创建了一个配置文件,而不是使用默认配置文件,它才对我起作用


    有关更多信息,请参阅。

    在我的情况下,我需要结合主机设置来实现此功能

  • 在自动配置文件切换中,单击“+”并添加本地计算机的主机名。主机名是在目标计算机上运行echo$HOST时获得的主机名。它并不总是您在提示符中看到的那个
  • 我的暂存服务器未设置$HOST,主机名为:

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

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

    然后它就会工作。

    步骤1:

    自定义您的iterm配置文件,例如
    深色
    浅色

    步骤2:

    在shell配置文件之前添加代码,例如
    .bashrc或.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
    

    对于Fishell用户: 1.创建一个fish函数:

    functions-it2prof>~/.config/fish/functions/it2prof.fish

  • 将此内容添加到
    ~/.config/fish/functions/it2prof.fishit2prof dark
    it2prof light
    
    function it2prof
      echo -e "\033]50;SetProfile=$argv\a"
    end