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という、タブのタイトル、バッジ、色を各タブで行っている作業の種類に応じて設定するユーティリティを作成しました
それには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_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
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
プロファイルで作業している場合(これはとても便利です)。環境設定 -> 外観 -> ウィンドウ & タブタイトル: 「プロファイル名を表示する」にチェックを入れます
それがその後の様子です
2 aianitro 2017-01-24
Preferences -> Profiles -> Terminal
uncheck Terminal may set Tab/Window title
マックス・カンターのコメントが効いた
2 B Seven 2018-02-27
自動プロファイル切り替えとバッジは、まさにあなたが必要としているもののために設計されたものだと思います
プロファイルの自動切り替え iTerm2 は、現在のパス、ホスト名、ユーザー名について知っている情報を使ってプロファイルを変更することができます。例えば、異なるホストに接続したときに、ウィンドウの背景色や端末の文字コードが変更されることがあります
バッジ ターミナルの右上に現在のセッションに関する情報を表示するバッジをつけることができます。ユーザ名やホスト名を表示したり、現在の git ブランチのようなカスタムデータを表示したりすることができます
のようになりますので、結果はこのようになるかもしれません
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