tmux에서 Prefix key를 눌렀는지 여부를 표시합니다.

2121 단어 tmux
tmux 로 페인 분할이나 윈도우 작성할 때에 키 바인드로서 사용하는 Prefix key ( C-b 라든지 C-t 라든지 설정되어 있다) 하지만 오작동을 막기 위해서 현재 Prefix key 가 밀리고 있는지 어떤지 시각적 확인할 수 있습니다.

아래와 같이 .tmux.conf 를 쓰면 Prefix key 를 누를 때 Status line 의 색을 아래 동영상처럼 반전시킬 수 있습니다.
set-option -g status-left '#[fg=cyan,bg=#303030]#{?client_prefix,#[reverse],} #H[#S] #[default]'



(Prefix key는 C-t로 설정)

중요한 것은 이것
#{?client_prefix,#[reverse],}
.tmux.conf 에서는 ?<condition>,<true action>,<false action> 의 형태로 삼항 연산자를 곱합니다. 그리고, client_prefix 는 Prefix key 가 밀려 있으면 1 (true) 가 된다고 하는 것입니다.
이번은 색을 바꾸었을 뿐입니다만, 눌려지고 있을 때만 뭔가 문자를 표시하는 것도 물론 가능합니다.

주의점이 있고, 예를 들면 Prefix key 를 눌렀을 때만 노란색 배경 검은 문자 ( fg=black, bg=yellow )로 하려고
#{?client_prefix,#[fg=black,bg=yellow],}

그리고 어리석게 쓰면



와 같이 표시가 버그됩니다. #[fg=black,bg=yellow] 안의 쉼표가 삼항 연산자 두 번째 쉼표로 해석되는 것 같습니다.

이러한 경우에는 #[] 를 분할하면 됩니다.
#{?client_prefix,#[fg=black]#[bg=yellow],}



REF


  • give a hint when press prefix key in tmux - Stack Overflow
  • OpenBSD manual pages (tmux)
  • 좋은 웹페이지 즐겨찾기