tmux의 상태 표시줄에서 현재 작업 디렉토리와 현재 프로세스를 모두 가져오는 방법은 무엇입니까?

tmux의 상태 표시줄에서 현재 작업 디렉토리와 현재 프로세스를 모두 가져오는 방법은 무엇입니까?

첫 번째 상태 줄은 창이 어느 디렉토리에 있는지 표시하고 두 번째 상태 줄은 창에서 실행 중인 프로세스를 표시하는 두 개의 상태 줄을 갖고 싶습니다. 이것이 가능한가? 저는 bash를 사용하지만 이 구성을 만드는 것이 더 쉽다면 다른 셸로 전환할 수도 있습니다.

tmux에서는 이것이 불가능하거나 구성하기가 매우 어려운 경우 이 정보를 제공할 수 있는 다른 도구가 있습니까? (기본적으로 디렉터리 및 프로세스 정보와 함께 터미널에 여러 탭/창을 열고 싶습니다.)

답변1

정말 좋은 질문입니다. 나는 그것을 "작동"시킬 수 있지만 "사용 가능"할 만큼 충분하지는 않습니다. IMHO. 충분히 잘 작동한다면 좋은 형식이 될 것이라는 데 동의합니다. 나는 당신(또는 함께 온 다른 누군가)이 퍼즐의 나머지 부분을 채울 수 있기를 바라며 여기서 찾은 정보를 제공할 것입니다.

2019년 tmux 2.9부터 setw -g status 2. 첫 번째 줄의 형식은 다음과 같습니다(매우기초적인버전):

setw -g status-format[0] '#{W:#{pane_current_path} }' # or ...
setw -g status-format[0] '#{W:#(pwd) }'

두 번째 줄은 다음과 같습니다.

setw -g status-format[1] '#{W:#{pane_current_command} }' # or possibly
setw -g status-format[1] '#{W:#W } # if there's no other function changing the window title'

문제는 이것들이 전혀 서로 정렬되지 않고 tmux 구성 지시문을 통해 정렬할 수 있는 방법을 아직 찾지 못했다는 것입니다. 그런 식으로 정렬을 생성하기 위해 상단과 하단 결과를 모두 특정 너비로 ​​채우거나 강제하는 방법이 있을 수 있지만 아직까지는 도달하지 못했습니다.

또한 기본적으로 tmux는 15초마다 업데이트됩니다. 다음과 같은 것을 사용하여 이 간격을 업데이트할 수 있습니다 setw -g status-interval 1.

또한 명령을 미리 입력하기만 하면 모든 명령을 셸에서 대화형으로 사용할 수 있습니다 tmux.

관련 정보