tmuxウィンドウにデフォルトのタイトルを設定できますか?


38

現在、タイトルはreattach-to-user-namespace(OS X)にデフォルト設定されていますが、これはかなり面倒です。tmux.conf別のデフォルトのタイトルを取得するために自分に追加できるオプションはありますか?

そうでない場合、新しいウィンドウを作成して名前の入力を求めるキーバインドを作成するにはどうすればよいですか?


ここで答えを参照してくださいsuperuser.com/questions/306028/...
フレドリックPihl

それは、デフォルトの名前ではなく、自動名前変更を無効にすることです(すでに行っています)。
js-コーダー

あなたは正しいと思います、ごめんなさい!
フレドリックピール

私はを使用しset-option -g default-command "reattach-to-user-namespace -l zsh"、ほとんどの場合、zsh必要に応じてという名前のウィンドウが表示されます。不明な理由により、名前が切り替えられず、ウィンドウが呼び出されることがありreattach-to-user-namespaceます。いつ/なぜこれが起こるかについてのパターンにまだ気づいていませんが、微妙なバグ、または私の構成に何かがあるかもしれません。
ジムスチュワート

名前にウィンドウ番号を入れる最良の方法は何ですか?
DanCat

回答:


43

すべての新しいウィンドウに適用されるグローバルなデフォルトウィンドウ名はありません。デフォルトでは、コマンドの最初の「ワード」(またはコマンドがない場合はデフォルトのシェル)(の一部)になります。あなたのウィンドウはおそらくreattach-to-user-namespaceあなたのdefault-command価値の最初の興味深いビットであるため、デフォルトになっています。

少し回り道になりますが、デフォルトのコマンドをシェルスクリプトに入れて、default-command代わりにそのスクリプトを指定することができます。その構成では、既定のウィンドウ名(明示的なコマンドなしで作成されたウィンドウの場合)は、シェルスクリプトに名前を付けたものになります。

それ以外の場合は、ウィンドウに手動で名前を付ける/名前を変更するいくつかの方法があります。

  • 作成時-n

    new-window -n 'some name'
    

    再バインドc(ウィンドウの作成に使用されるデフォルトキー)して、選択した「デフォルト名」を組み込むことができます。

    bind-key c new-window -n 'default name'
    
  • 既存のウィンドウの名前を変更します。

    rename-window 'new name'
    

    また,、新しい名前を入力してウィンドウの名前を変更するデフォルトのバインディング(Prefix )もあります。

  • ペインのttyに送信される「エスケープシーケンス」を介してウィンドウの名前を変更します。

    # E.g. in a shell:
    printf '\033kWINDOW_NAME\033\\'
    

「新しいウィンドウの名前の入力を求める」は、次のように実行できます(ウィンドウの作成前または作成後にプロンプ​​トを表示します)。

bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"

bind-key C new-window \; command-prompt -p "Name for this new window: " "rename-window '%%'"

2
うわー、これは本当に素晴らしい答えです、どうもありがとう!:)
js-コーダー

7
私は、デフォルトのタイトルを設定する方法を発見:set-option -g default-command "tmux rename-window base; reattach-to-user-namespace -l zsh"デフォルトのタイトルを設定しますbase。これを回答に追加することをお勧めします。:)
js-コーダー

このソリューションは、tmuxinatorのようなtmuxマネージャーを破壊します。その場合には、タブの名前は変更されません
SystematicFrank

4

tmuxは最初のコマンドをウィンドウ名として選択します。

「i」をデフォルトのタイトルにしたい場合、このようにだますことができます。

set-option -g default-command "i > /dev/null 2>&1; reattach-to-user-namespace -l bash"

これは

set-option -g default-command "tmux rename-window i; reattach-to-user-namespace -l bash"

ウィンドウのタイトルを手動で設定した後にペインを作成すると、タイトルの名前が再び「i」に戻るためです。


1

を使用したウィンドウタイトルの設定に関するChrisの回答に加えて、ウィンドウの名前としてnew window -n 'somename'空の文字列''を指定することもできます。このように、デフォルトのショートカット(プレフィックス+ c)を使用でき、一時ウィンドウの名前を考える必要はありませんが、必要に応じて名前を変更できます。

bind-key c new-window -n ''


1

ハック以上の答えではありません。

とシンボリックリンクを作成しました

sudo ln -s /usr/local/bin/reattach-to-user-namespace /usr/local/bin/pbash

そして今、それはpbashデフォルトのタイトルとして表示されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.