상세 가이드 · 14 / 15

설정 파일

pytmux.conf 로 동작을 바꾸거나, 통합 설정 팝업 :settings 로 카테고리별로 조정합니다. :settings 에서 바꾼 파일 설정은 설정 파일에 자동으로 되쓰기 되고 (주석·바인딩 보존), 서버 옵션(window-size·vt-parser· automatic-rename 등)은 서버가 opts.json 에 영속합니다 — 어느 쪽이든 다시 켤 때 유지됩니다.

설정 파일 위치와 형식

설정 파일은 ~/.config/pytmux/config, ~/.pytmux.conf, 또는 환경변수 PYTMUX_CONFIG 로 지정한 경로에서 읽습니다(pytmux.conf.example 참고). 여러 곳에 있으면 PYTMUX_CONFIG$PYTMUX_HOME/config~/.config/pytmux/config~/.pytmux.conf 순으로 먼저 있는 하나만 씁니다. 각 줄은 set <이름> <값> 형식이고, source-file 로 다시 읽습니다. 현재 값은 show-options 로 확인합니다. 실행 중에 바꿀 때는 명령 프롬프트에서 set빼고 옵션 이름을 그대로 칩니다(예: :strip-box-drawing off, :lang en) — :set … 이 먹는 것은 mouse·prefix·mode-keys 처럼 일부뿐이라, 가장 확실한 방법은 설정 팝업(:settings)에서 고르는 것입니다.

자주 쓰는 옵션

설정값 (기본)설명
prefixC-a 등 (C-b)prefix 키
mouseon|off (on)마우스 on/off
mouse-drag-copyon|off (on)좌드래그로 선택→클립보드 자동 복사(off=앱에 전달)
mouse-drag-threshold1~20 (3)드래그로 인정할 최소 이동 칸수 — 짧은 클릭이 드래그로 오인돼 클립보드가 바뀌는 것을 막습니다(1=예전 감도)
copy-unwrapon|off (on)마우스로 긁어 복사할 때 앱이 접은 줄바꿈과 그에 딸린 들여쓰기를 펴서, 여러 줄로 보이던 명령을 바로 붙여넣을 수 있게 합니다
alt-scrollon|off (on)on=pytmux 가 휠 스크롤백 처리 / off=터미널 기본
mode-keysvi|emacs (vi)복사/스크롤 모드 키 스타일
ambiguous-widthauto|narrow|wide (auto)CJK 모호폭 셀 크기(단말 자동 감지)
tab-baralways|auto (always)상단 탭바: 항상 / 2개 이상일 때만
default-pathcurrent|home|<경로> (current)새 탭/패널 시작 디렉토리
strip-box-drawingon|off (on)붙여넣기 시 패널 테두리(박스드로잉) 제거
inactive-dimon|off (on)비활성 패널 흐리게
inactive-dim-ratio0.0–0.8 (0.18)흐림 강도
languageko|en (LANG)UI 언어

상태줄 · 화면

설정설명
statuson|off|0–5상태줄 줄 수
status-positionbottom|top상태줄 위치
status-left / status-right포맷 문자열#S·#h·#{pane_title}·strftime 등
status-interval1–60상태줄 갱신 주기(초)
status-format <줄> <포맷>1~ + 포맷 문자열status 를 2줄 이상으로 켰을 때 보조 줄의 내용. 줄 번호는 1부터이며 포맷 기호는 status-left 와 같습니다
status-bg / status-fg상태줄 배경/전경색
set-titles / set-titles-stringon|off / 포맷터미널 창 제목 설정
single-borderon|off|toggle패널이 하나일 때도 테두리
pane-border-statuson|top|off패널 테두리 제목줄

동작 · 고급

설정설명
automatic-renameon|off실행 앱으로 탭 자동 명명
monitor-activity / monitor-bellon|off비활성 탭 활동/벨 감지
synchronize-paneson|off패널 입력 동기화
coalesce-repaintson|off|togglessh 반응성: 전체 리페인트 병합
nest-auto-attachon|off|toggle중첩 pytmux 시 자동 remote-attach
exit-emptyon|off|toggle (on)세션이 0개가 되면 서버 종료. off=빈 채로 상주(원격 서버용, 11장)
win-mouse-motionon|off|toggle (off)Windows 마우스 이동 전달
mouse-debugon|off (off)진단용 — 클라이언트가 받은 마우스·휠 이벤트와 화살표/페이지 키를 <소켓>.mouse.log 에 기록합니다. 원격에서 휠이 안 먹는 것처럼 환경에 따라 달라지는 입력 문제를 제보할 때 켭니다(글자·단축키는 기록하지 않습니다)
vt-parsernativeVT 파서 백엔드. 현재는 자체 native 파서 단일이라 사실상 고를 것이 없습니다 — 옛 pyte 백엔드는 은퇴했고, 그 값을 넣어도 native 로 수렴합니다(옛 설정 파일 호환용으로만 받습니다)
window-sizesmallest|latest|largest (smallest)여러 클라이언트가 한 세션을 볼 때 공유 격자 크기 기준(11장)
net_rtt_threshold초 (0.4)응답성 저하 판정 문턱(파일 전용)

pytmux.conf 예시

아래 줄을 그대로 복사해 붙여넣으면 됩니다. 키 바인딩도 함께 둘 수 있습니다.

set prefix C-a set mouse on set mouse-drag-copy on set strip-box-drawing on set tab-bar always set mode-keys vi set default-path current set ambiguous-width auto # 키 바인딩 (prefix 뒤 / -n 은 prefix 없이) bind | split-window -h bind - split-window -v bind r rename-window bind k kill-pane # 내 이름으로 명령 줄이기 alias w layout-load work alias tk claude-token-log # 그 순간에 자동 실행(훅) hook client-attached display-message 붙었습니다 hook alert-bell run-shell "afplay /System/Library/Sounds/Ping.aiff"
지시어
set <옵션> <값>위 표의 설정들. 런타임 :set 과 같은 이름입니다.
bind <키> <명령>prefix 뒤 키. bind -n 은 prefix 없이 바로 듣습니다(7장).
alias <이름> <명령>명령 프롬프트에서 쓸 짧은 이름을 만듭니다 — 인자까지 통째로 담을 수 있어 자주 쓰는 조합을 한 단어로 줄입니다.
hook <이벤트> <명령>정해진 순간에 자동 실행합니다(client-attached · after-new-window · alert-bell). 런타임에서는 set-hook, 지금 걸린 목록은 show-hooks — 자세한 것은 7장.

통합 설정 팝업 · 언어

:settings(별칭 config·preferences)는 옵션을 표시 · 입력 · 동작 · 상태줄 · 고급 · 키 카테고리(+ 플러그인의 Claude 카테고리)로 묶어 보여 줍니다. 여기서 바꾼 값은 파일 설정이면 설정 파일에, 서버 옵션이면 서버 opts.json 에 각각 자동 반영됩니다. UI 언어는 lang ko|en (별칭 language)으로 즉시 바꾸며, 선택은 클라이언트에 저장됩니다.

통합 설정 팝업(:settings)
통합 설정 팝업(:settings) — 카테고리별 조정. 숫자 항목(예: 드래그 인정 최소 이동)은 로 값을 올리고 내립니다.