使用 Bash + iTerm2,如何命名标签?

・6 分钟阅读

问题:

在 iTerm2 ( Build 1.0.0.201 20203 ) 中我通常打开几个选项卡,每个选项卡都有拆分窗格,并且是一个特定的工作主题,例如版本控制,编码,管理文件MySQL终端工作 我通常需要在工作流程中切换5个或更多选项卡。 通过查看屏幕内容,有时难以记住或者找到哪个是哪个的内容。 我想知道这些标签的名字,所以我可以快速地看出哪个是快速浏览的。 这可能吗?


回答 1:

由于你在mac上使用了 iterm2,另一个选项是你可以按下 Cmd-I,键入某些内容,然后按Escape键。

终端解决方案比这快一点,但只是想让你知道。


回答 2:

我发现以下功能,放在我的~/.bashrc 中,有助于帮助:


function title {


 echo -ne"33]0;"$*"07"


}



然后,我可以从bash提示符中调用它,如下所示:


> title I want a pony!



我的标签上有相应的标题。


回答 3:

运行这里命令以设置选项卡或者窗口的标题:


export PROMPT_COMMAND='echo -ne"33]0;YOUR NAME HERE07"'



我已经将以下内容添加到 ~/.bash_profile,以便始终列出相对于我的主目录的当前目录:


export PROMPT_COMMAND='echo -ne"33]0;${PWD/#$HOME/~}07"'



当您的底座中有100个最小化的终端时非常有用

帽子提示到mac世界


回答 4:

将这里函数添加到 ~/.bash_profile 文件中,应该可以。


function title ()


{


 TITLE=$*;


 export PROMPT_COMMAND='echo -ne"33]0;$TITLE07"'


}




回答 5:

我使用了相似的解决方案相似,但我使用了足够的标签,我也希望它们的颜色编码简单。 所以我发起了 tabset 这是一个根据我在每个标签中所做的工作类型设置标签标题,徽章和颜色的工具 。

example

它需要 node,但现在是一个通用平台。 要安装:


npm install -g iterm2-tab-set




回答 6:

我喜欢这个


#setup terminal tab title


function title {


 if ["$1" ]


 then


 unset PROMPT_COMMAND


 echo -ne"33]0;${*}07"


 else


 export PROMPT_COMMAND='echo -ne"33]0;${PWD/#$HOME/~}07"'


 fi


}


title



它可以让你在自定义名称和你的CWD的默认名称之间切换一个标签。

title -> 你的标签标题将是 ~/YOUR_CWD/

title hey there -> 你的标签标题将是 hey there


回答 7:

我真的很喜欢 taylorstine回答,但它打破了 iterm2 shell它依赖于 PROMPT_COMMAND 变量 。 你可以修改taylorstine代码以通过在修补它时将 __bp_precmd_invoke_cmd 添加回 PROMPT_COMMAND 来更正这里问题:


# iTerm2 shell integration


test -e"${HOME}/.iterm2_shell_integration.bash" && source"${HOME}/.iterm2_shell_integration.bash"



# iTerm2 tab titles


function title {


 if ["$1" ]


 then


 export PROMPT_COMMAND='__bp_precmd_invoke_cmd'


 echo -ne"33]0;${*}07"


 else


 export PROMPT_COMMAND='echo -ne"33]0;${PWD/#$HOME/~}07";__bp_precmd_invoke_cmd'


 fi


}


title




回答 8:

我喜欢 Michael的回答。

但如果 .iterm2_shell_integration.bash 不存在?

这是我


# iTerm2 shell integration


test -e"${HOME}/.iterm2_shell_integration.bash" && source"${HOME}/.iterm2_shell_integration.bash"



# iTerm2 tab titles


function title {


 if ["$1" ] ; then


 test -e"${HOME}/.iterm2_shell_integration.bash" 


 && export PROMPT_COMMAND='iterm2_preexec_invoke_cmd' 


 || unset PROMPT_COMMAND


 echo -ne"33]0;${*}07"


 else


 test -e"${HOME}/.iterm2_shell_integration.bash" 


 && export PROMPT_COMMAND='echo -ne"33]0;${PWD/#$HOME/~}07";iterm2_preexec_invoke_cmd' 


 || export PROMPT_COMMAND='echo -ne"33]0;${PWD/#$HOME/~}07"'


 fi


}


title




回答 9:

如果你正在使用配置文件( 这是非常方便的): 首选项-> 外观-> 窗口&选项卡标题: 标记'显示配置文件名称':

image

这就是它之后的样子:

thumbnail linked to main image


回答 10:

我认为自动配置文件切换Badges正是为你所需的设计而设计

自动配置文件切换 iTerm2可以使用它知道的有关当前路径,主机名和用户名的信息来更改配置文件 。 例如你的窗口颜色背景或者终端编码的字符在连接到不同主机时可能会发生更改。

Badges你可以在终端的右上角放置一个徽章显示有关当前会话的信息 。 它可以显示你的用户名,主机名,甚至是定制数据,如当前的git branch 。

因此,结果可能如下所示:

enter image description here


Tony profile image