ITerm2(Build 1.0.0.20120203)では、私は通常いくつかのタブを開きます。それぞれのタブは分割されていて、例えばリビジョン管理、コーディング、ファイル管理、mysql端末作業などの特定の作業テーマです。私は通常、ワークフロー内で5つ以上のタブを切り替える必要があります。画面の内容を見てどれがどれであるかを覚えたり見分けるのが難しい場合があります。どういうわけかタブに名前を付けたいので、すばやくちらっと見ることでどれがどれであるかすぐにわかります。これは可能ですか?
あなたはMac上でiterm2を使っているので、もう一つの選択肢はあなたがただ打つことができるということです CmdI、何かをタイプし、そしてヒット ESC。
端末ソリューションはこれより少し速いですが、ただあなたに知らせたいと思いました。
私は~/.bashrc
に置いておくと便利な以下の関数を見つけました。
function title {
echo -ne "\033]0;"$*"\007"
}
それから私はbash Promptから次のようにそれを呼び出すことができます。
> title I want a pony!
そして私のタブはそれに応じてタイトルが付けられます。
タブまたはウィンドウのタイトルを設定するには、このコマンドを実行します。
export Prompt_COMMAND='echo -ne "\033]0;YOUR NAME HERE\007"'
私の~/.bash_profile
に以下を追加して、いつも私のホームディレクトリに相対的な現在のディレクトリをリストします。
export Prompt_COMMAND='echo -ne "\033]0;${PWD/#$HOME/~}\007"'
ドックに最小化された端末が100台あるときに便利です。
この関数をあなたの~/.bash_profile
ファイルに追加すればうまくいきます。
function title ()
{
TITLE=$*;
export Prompt_COMMAND='echo -ne "\033]0;$TITLE\007"'
}
私はこれが好きです:
#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
になります
私は本当に taylorstineの答え が好きです、しかしそれは信頼するiTerm2の シェル統合 を壊しますPrompt_COMMAND
変数に。 Taylorのコードを修正して、これを修正するときはいつでも__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
私は 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 "\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
Preferences -> Profiles -> Terminal
uncheck Terminal may set Tab/Window title
Max Cantorのコメントが役に立ちました。
私は 自動プロファイル切り替え と バッジ はあなたが必要とするもののために正確に設計されていると思います:
自動プロファイル切り替えiTerm2は現在のパス、ホスト名、ユーザー名について知っている情報を使ってプロファイルを変更できます。例えば、あなたのウィンドウの背景色や端末の文字エンコーディングは、異なるホストに接続するときに変わる可能性があります。
バッジ現在のセッションに関する情報を表示するバッジを端末の右上に置くことができます。ユーザー名、ホスト名、あるいは現在のgitブランチのようなカスタムデータさえも表示できます。
そのため、結果は次のようになります。
私は B Seven の答えを少し明確にしたいと思います。
私たちのほとんどは、リモートシェルではなくローカルシェルにいない場合でもタブのタイトルをどのように設定できるかを知りたいので(例えばsshで)。
ステップ1. Preferences -> Profiles -> Terminal uncheck Terminal may set Tab/Window title
ステップ2.各タブについて、double click on the tab -> Session Title
これで、セッションのタイトルに何を設定しても、そのままになります。