tmux 창의 기본 제목을 설정할 수 있습니까?


38

현재 제목은 reattach-to-user-namespace(OS X)로 기본 설정되어 있습니다. tmux.conf다른 기본 타이틀을 얻기 위해 넣을 수있는 옵션이 있습니까?

그렇지 않은 경우 새 창을 만든 다음 이름을 묻는 메시지를 표시하는 키 바인딩을 어떻게 만들 수 있습니까?


여기에 답변을 참조하십시오 superuser.com/questions/306028/…
Fredrik Pihl

기본 이름이 아니라 자동 이름 바꾸기 기능을 비활성화하는 것입니다.
js-coder

네 말이 맞아 미안해
Fredrik Pihl

나는을 사용 set-option -g default-command "reattach-to-user-namespace -l zsh"하며, 대부분의 시간 zsh은 원하는대로 라는 이름의 창으로 끝납니다 . 알 수없는 이유로 때때로 이름이 바뀌지 않고 창을이라고 reattach-to-user-namespace합니다. 나는 이것이 언제 / 왜 이런 일이 발생하는지에 대한 패턴을 보지 못했지만 미묘한 버그 또는 구성에 문제가있는 것 같습니다.
Jim Stewart

창 번호를 이름에 넣는 가장 좋은 방법은 무엇입니까?
DanCat

답변:


42

모든 새 창에 적용되는 전역 기본 창 이름은 없습니다. 기본적으로 명령의 첫 번째 "단어"(또는 명령이없는 경우 기본 셸)로 설정됩니다. 당신 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-coder

7
기본 제목을 설정하는 방법을 찾았습니다 . set-option -g default-command "tmux rename-window base; reattach-to-user-namespace -l zsh"기본 제목을 설정합니다 base. 이것을 답변에 추가하고 싶을 수도 있습니다. :)
js-coder

귀하의 솔루션은 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.