เปลี่ยนชื่อแท็บ Iterm2 จากภายใน tmux


16

ฉันสามารถใช้ฟังก์ชันต่อไปนี้เพื่อเปลี่ยนชื่อแท็บ iterm2 และใช้งานได้ดี

function rename_tab {
    echo -ne "\033]0;"$@"\007"
}

อย่างไรก็ตามถ้าฉันใช้ฟังก์ชั่นนี้ในขณะที่อยู่ในเซสชั่น tmux ก็ไม่มีอะไรเกิดขึ้น

มีความคิดวิธีการทำงานในขณะที่อยู่ใน tmux? ขอบคุณ!

คำตอบ:


17

คุณสามารถใช้ตัวเลือก tmux set-titles

ใน. tmux.conf ฉันมีบรรทัดต่อไปนี้:

set-option -g set-titles on

คุณจะต้องรีสตาร์ทเซิร์ฟเวอร์ tmux (ฆ่าเซสชันที่มีอยู่) หรือส่งไฟล์อีกครั้งก่อนที่การเปลี่ยนแปลงในการกำหนดค่าของคุณจะมีผล นอกจากนี้คุณยังสามารถเรียกใช้สิ่งนี้สำหรับเซสชันที่มีอยู่ด้วย<prefix>:set-option set-titles on


2
! น่ากลัว ขอบคุณ! <prefix>: set-options set-title-string tab-name-here ทำในสิ่งที่ฉันต้องการอย่างแน่นอน
chevett

3
set-option -g set-title บน set-option -g set-title-string '#S'
chevett

คุณสามารถโหลดการตั้งค่า tmux tmux source-file ~/.tmux.confสวยได้อย่างง่ายดายด้วย แหล่งที่มา - blog.sanctum.geek.nz/reloading-tmux-config
studgeek

1
สิ่งนี้ไม่ทำงานเมื่อใช้การรวม tmux (เช่นการรันด้วย tmux -CC)
Bittenus

มีวิธีแก้ปัญหาใดtmux -CCบ้างสำหรับการใช้โหมดควบคุม (aka )? อาจเป็นข้อผิดพลาดใน tmux หรือไม่?
steshaw

4

ฉันไม่สามารถตั้งชื่อให้ทำงานได้เมื่อใช้การรวม tmux ใน iTerm2 (ทำงานด้วยtmux -CC)

แต่มันใช้งานได้ดี

function tabname {
  if [ -z $TMUX ] ; then
    printf "\e]1;$@\a"
  else
   tmux rename-window "$@"
  fi
}

คุณวางสิ่งนี้ลงในไฟล์. bashrc / .zshrc ของคุณหรือไม่ หรือเราจะวางมันลงใน. tmux.conf?
danyim

ฉันใส่มันใน.bashrc
Bittenus

0

คำตอบนี้ไม่ใช่คำตอบที่ตรงกับคำถามขอโทษเกี่ยวกับเรื่องนั้น มันเป็นวิธีการทำเช่นนี้จาก iTerm2 โดยไม่ต้องมีบรรทัดคำสั่งเทียบเท่า

แถบเมนู iTerm -> Shell ->

เปลือก

tmux ->

tmux

แดชบอร์ด -> เลือกหน้าต่าง ->

แผงควบคุม

กด Return เพื่อเปลี่ยนชื่อ (เหมือนใน Finder!) กด Enter เพื่อเปลี่ยนชื่อ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.