ターミナル – Bash + iTerm2では、どのようにタブの名前を付けるのですか?

iterm iterm2 terminal

iTerm2 (Build 1.0.0.0.20120203) では、私は通常、複数のタブを開き、それぞれが分割ペインを持ち、リビジョン管理、コーディング、ファイル管理、mysql ターミナル作業など、仕事の特定のテーマに関するものです。私は通常、ワークフローの中で5つ以上のタブを切り替える必要があります。画面の内容を見てどれがどれなのかを覚えていたり、教えたりするのが大変なこともあります。何とかタブに名前をつけて、パッと見てどれがどれだかわかるようにしたい。これは可能でしょうか?

  191  qazwsx  2012-05-02


ベストアンサー

Macでiterm2を使っているので、別の方法としては、CmdIを押して何かを入力し、ESCを押すという方法があります

端末での解決はこれより少し早いのですが、お知らせしたかっただけです

227  mawaldne  2013-08-08


私の~/.bashrcに配置された以下の関数が参考になりました

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

そうすると、以下のようにbashプロンプトから呼び出すことができます

> title I want a pony!

そして、私のタブにはそれに応じたタイトルが付けられます

128  Jason Sundram  2013-05-23


このコマンドを実行して、タブやウィンドウのタイトルを設定します

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 worldへのハットチップ

51  schpet  2013-03-04


私はかなりの間、上記のようなソリューションを使用していましたが、私は十分な数のタブを使用しているので、簡単に視覚的に参照できるように色分けされたタブも欲しいと思っています。そこで、tabsetという、タブのタイトル、バッジ、色を各タブで行っている作業の種類に応じて設定するユーティリティを作成しました

example

それにはnodeが必要ですが、それは今では一般的にインストールされているプラットフォームです。インストールするには

npm install -g iterm2-tab-set

20  Jonathan Eunice  2016-06-15


この関数を~/.bash_profileファイルに追加すれば、動作するはずです

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

16  jiangyu7408  2013-10-24


これはいいですね

#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 になります

7  taylorstine  2015-07-26


taylorstine の回答はとても気に入っていますが、iTerm2 の シェルの統合が壊れていて、変数 PROMPT_COMMAND に依存しています。テイラーのコードを修正して、__bp_precmd_invoke_cmdPROMPT_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

6  Michael  2016-03-30


私はマイケルの回答が好きです

しかし、.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

4  user1318024  2017-05-23


プロファイルで作業している場合(これはとても便利です)。環境設定 -> 外観 -> ウィンドウ & タブタイトル: 「プロファイル名を表示する」にチェックを入れます

image

それがその後の様子です

thumbnail linked to main image

2  aianitro  2017-01-24


Preferences -> Profiles -> Terminal
uncheck Terminal may set Tab/Window title

マックス・カンターのコメントが効いた

2  B Seven  2018-02-27


自動プロファイル切り替えバッジは、まさにあなたが必要としているもののために設計されたものだと思います

プロファイルの自動切り替え iTerm2 は、現在のパス、ホスト名、ユーザー名について知っている情報を使ってプロファイルを変更することができます。例えば、異なるホストに接続したときに、ウィンドウの背景色や端末の文字コードが変更されることがあります

バッジ ターミナルの右上に現在のセッションに関する情報を表示するバッジをつけることができます。ユーザ名やホスト名を表示したり、現在の git ブランチのようなカスタムデータを表示したりすることができます

のようになりますので、結果はこのようになるかもしれません

enter image description here

1  lengxuehx  2017-05-01


絶対的なわかりやすさのために、Bセブンさんの回答を少し延長してみたいと思います

私たちのほとんどは、ローカルシェルではなく、リモートシェル(例えば ssh 経由)でもタブのタイトルを設定する方法を知りたいと思っているので、どのようにしてタブのタイトルを設定するかを知りたいと思います

ステップ1.Preferences -> Profiles -> Terminal uncheck Terminal may set Tab/Window title

ステップ2.各タブについて、double click on the tab -> Session Title

これで、セッションタイトルに設定したものは、そのままの状態になります

0  Krishna Gupta  2019-01-17


私はバニラのiTerm2で動作するソリューションを探していました。私が見つけた非常にうまく機能しているものは、このオプションを実行するキーボードショートカットを追加することです(タブをダブルクリックするか、メニューWindow → Edit TabTitleから選択することで利用可能)

そうするために

  • Preferences – Cmd+、またはメニューiTerm2 → Preferencesを開く
  • Keysサブメニューに移動し、下部の+をクリックします
  • お好みのキーストローク(Super+Ctrl+Shift+eのような)を記録して、「アクション」Select Menu Itemを選択します
  • 利用可能なポジションのリストからEdit Tab Titleを選択します
  • voila!

0  yatsek  2020-07-21


すべてのエイリアスと関数。もっと簡単な方法は、(あなたがrootであれば)これをターミナルに貼り付けてください

TARGET=/usr/bin/title
sudo tee "$TARGET" <<'EOF'
#!/usr/bin/env bash
echo -ne "\033]0;$*\007"
EOF
sudo chmod 755 "$TARGET"

あるいは、パスやグローバルパスのどこかにファイル呼び出しのタイトルを作って、EOFの間の2行を貼り付ければいいだけです

-2  Orwellophile  2015-06-29


タイトルとURLをコピーしました