題 使用Bash + iTerm2,如何命名標籤?


在iTerm2(Build 1.0.0.20120203)中,我通常打開幾個選項卡,每個選項卡都有拆分窗格,並且是關於工作的一個特定主題,例如版本控制,編碼,管理文件,mysql終端工作。我通常需要在工作流程中切換5個或更多選項卡。通過查看屏幕內容有時難以記住或告訴哪個是哪個。我想以某種方式命名標籤,所以我可以通過快速瀏覽來快速分辨哪個是哪個。這可能嗎?


157
2018-05-02 19:08


起源


可能重複 在zsh中更改iTerm2窗口和選項卡標題 - Daniel Beck♦
不完全重複。那麼如何將當前運行的應用程序添加為標題標題的一部分?即哪個選項卡運行emacs,mysql等? - qazwsx
即我的所有標籤都有相同的主機和用戶。所以使用它們不會區分我的標籤。 - qazwsx
你的意思是你想要的 顯示當前作業名稱 來自iTerm的偏好?請注意,鏈接的主題與用戶名或主機無關。 - Daniel Beck♦
是的,我想顯示一些正在運行或在每個選項卡中運行的程序的指示。此外,另一篇文章中給出的解決方案不適用於Bash + iTerm2。 - qazwsx


答案:


由於你在mac上使用iterm2,另一個選擇是你可以點擊 CMD一世,輸入內容,然後點擊 退出

終端解決方案比這快一點,但只是想讓你知道。


191
2017-08-08 15:29



這工作一秒鐘,直到我在已重命名的選項卡上發出一個返回。 - Stewie
@Stewie在首選項 - >配置文件 - >終端中,取消選中“允許終端報告窗口標題”。 - Max Cantor
它沒有被檢查。它仍然重命名標題。 - Stewie
@SteveBennett它不是“主題”(實際上術語是“簡介”)本身; CMD + I命令是“編輯當前會話...”(在“視圖”菜單下),因此它只是更改該選項卡的配置文件實例。點擊Escape只關閉窗口,這是必需的,因為該窗口上沒有“保存”按鈕。 - MidnightLightning
如果您打開多個窗格怎麼辦?您是否必須重命名每個標籤以完全命名標籤本身? - theicfire


我找到了以下功能,放在我的 ~/.bashrc 有幫助:

function title {
    echo -ne "\033]0;"$*"\007"
}

然後我可以從我的bash提示符中調用它,如下所示:

> title I want a pony!

我的標籤相應地標題。


109
2018-05-23 17:57



我試過這個,但它仍然無效。我把這個定義放進去了 bash_aliases,並加載它 .profile (if [ -f ${HOME}/.bash_aliases ]; then . ${HOME}/.bash_aliases fi) 但是之後 title dog 沒有將標題標題變成“狗” - qazwsx
+1 - 我將我的添加到/ etc / profile只是因為那是我的別名所在...不要忘記在完成後找到文件。注意:這也適用於終端。 - blak3r
很有幫助。我想要一匹小馬;我有一個! - SoEzPz
我把它放在.bash_profile中,重新啟動它就像一個魅力。 - C Johnson
也適用於zsh - Sagar Jauhari


運行此命令以設置選項卡或窗口的標題:

export PROMPT_COMMAND='echo -ne "\033]0;YOUR NAME HERE\007"'

我已將以下內容添加到我的 ~/.bash_profile 始終列出相對於我的家庭目錄的當前目錄:

export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'

當您的底座中有100個最小化的終端時非常有用

帽子提示到mac世界


40
2018-03-04 00:33



作品!請記住,可以加載.bashrc或.bash_profiles,而不是兩者都加載。我已經有了一個.bash_profiles文件,所以我不得不將它粘貼到這個文件中。謝謝。 - therealmarv
哦謝謝!我已經更新了答案以匹配這個。我的.bash_profile中有“source~ / .bashrc”,忘了這不常見 - schpet


將此功能添加到您的 ~/.bash_profile 文件,它應該工作。

function title ()
{
    TITLE=$*;
    export PROMPT_COMMAND='echo -ne "\033]0;$TITLE\007"'
}

15
2017-10-24 03:26





我使用類似於上面的解決方案已經有一段時間了,但我使用了足夠多的標籤,我也希望它們採用顏色編碼以便於視覺參考。所以我鞭打了 標籤集,一個實用程序,用於根據我在每個選項卡中執行的工作類型設置選項卡標題,徽章和顏色。

example

這個需要 節點,但現在這是一個常用的平台。安裝:

npm install -g iterm2-tab-set

12
2018-06-15 14:19



這太棒了!我特別喜歡標籤顏色的自動設置。謝謝! - Ashutosh Jindal


我喜歡這一個:

#setup terminal tab title
function title {
    if [ "$1" ]
    then
        unset PROMPT_COMMAND
        echo -ne "\033]0;${*}\007"
    else
        export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'
    fi
}
title

它允許您在自定義名稱和CWD默認名稱之間切換選項卡的名稱。

title  - >你的標題標題將是 ~/YOUR_CWD/

title hey there  - >你的標題標題將是 hey there


6
2017-07-26 15:29



請注意,這樣會破壞 iTerm shell集成。 - Michael


我很喜歡 泰洛斯汀的答案,但它打破了iTerm2的 shell集成 它依賴於 PROMPT_COMMAND 變量。您可以修改泰勒的代碼以通過添加來糾正此問題 __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 "\033]0;${*}\007"
    else
        export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/\~}\007";__bp_precmd_invoke_cmd'
    fi
}
title

4
2018-03-30 14:45





我喜歡 邁克爾的 回答。

但是如果 .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 "\033]0;${*}\007"
  else
    test -e "${HOME}/.iterm2_shell_integration.bash" \
      && export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007";iterm2_preexec_invoke_cmd' \
      || export PROMPT_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'
  fi
}
title

3
2018-05-23 13:21



請注意,在v3.1中, iterm2_preexec_invoke_cmd 已經成為 __bp_precmd_invoke_cmd - Michael


如果你正在使用Profiles(非常方便): 首選項 - >外觀 - >窗口和標籤標題:勾選'顯示個人資料名稱':

image

這就是它的照顧方式:

thumbnail linked to main image


2
2018-01-24 20:45