사용자가 간단한 구성 파일을 통해 tmux 세션을 저장하고 로드할 수 있는 tmux용 세션 관리자입니다. libtmux에 의해 구동됩니다.
tmux를 처음 사용하시나요? tmux의 Tao는 Leanpub 및 Amazon Kindle에서 사용할 수 있습니다. 웹에서 무료로 책을 읽고 찾아보세요.
여유 시간이 있으세요? 분류, 코드 검토 및 추적기를 도와주세요. 문제 #290을 참조하세요!
씨:
$ pip install --user tmuxp
홈브류:
$ brew install tmuxp
데비안/우분투:
$ sudo apt install tmuxp
아니야:
$ [[ -z $( which tmux ) ]] && (nix-env -i tmux && nix-env -i tmuxp) || nix-env -i tmuxp
리폴로지에서 배포판 패키지를 찾으세요: https://repology.org/project/tmuxp/versions
개발 릴리스:
씨:
$ pip install --user --upgrade --pre tmuxp
핍스:
$ pipx install --suffix=@next ' tmuxp ' --pip-args ' --pre ' --force
그런 다음 tmuxp@next load [session]
사용하십시오.
json 및 YAML, tmuxinator 및 teamocil 스타일을 통해 tmux 세션을 로드합니다.
session_name : 4-pane-split
windows :
- window_name : dev window
layout : tiled
shell_command_before :
- cd ~/ # run as a first command in all panes
panes :
- shell_command : # pane no. 1
- cd /var/log # run multiple commands in this pane
- ls -al | grep .log
- echo second pane # pane no. 2
- echo third pane # pane no. 3
- echo forth pane # pane no. 4
mysession.yaml 로 저장하고 다음을 로드합니다.
$ tmuxp load ./mysession.yaml
.tmuxp.yaml 또는 .tmuxp.json 이 포함된 프로젝트는 디렉터리를 통해 로드됩니다.
$ tmuxp load path/to/my/project/
한 번에 여러 개 로드(bg에서는 마지막에 첨부하도록 제안):
$ tmuxp load mysession ./another/project/
세션 이름 지정:
$ tmuxp load -s session_name ./mysession.yaml
간단하고 매우 정교한 구성 예
tmuxp는 사용자 디렉터리의 구성을 확인합니다.
$TMUXP_CONFIGDIR
(설정된 경우)$XDG_CONFIG_HOME
, 일반적으로 $HOME/.config/tmuxp/$HOME/.tmuxp/
~/.config/tmuxp/mysession.yaml (또는 .json )이라고 가정하고 파일 이름을 사용하여 어디에서나 tmuxp 구성을 로드합니다.
$ tmuxp load mysession
작성자의 tmuxp 구성 및 프로젝트의 tmuxp.yaml을 참조하세요.
1.6.0의 새로운 기능 :
tmuxp shell
libtmux 객체의 연결된 서버, 세션 및 창과 함께 미리 로드된 Python 콘솔로 시작됩니다.
$ tmuxp shell
(Pdb) server
<libtmux.server.Server object at 0x7f7dc8e69d10>
(Pdb) server.sessions
[Session($1 your_project)]
(Pdb) session
Session($1 your_project)
(Pdb) session.name
'your_project'
(Pdb) window
Window(@3 1:your_window, Session($1 your_project))
(Pdb) window.name
'your_window'
(Pdb) window.panes
[Pane(%6 Window(@3 1:your_window, Session($1 your_project)))
(Pdb) pane
Pane(%6 Window(@3 1:your_window, Session($1 your_project))
PEP 553 breakpoint()
( PYTHONBREAKPOINT
포함)를 지원합니다. -c
통한 직접 명령도 지원합니다.
$ tmuxp shell -c ' print(window.name) '
my_window
$ tmuxp shell -c ' print(window.name.upper()) '
MY_WINDOW
CLI 문서에서 tmuxp 쉘에 대해 자세히 알아보세요.
사용자 정의 시작 스크립트를 실행합니다(예: tmux를 로드하기 전에 프로젝트 종속성 설치). bootstrap_env.py 및 before_script 예제를 참조하세요.
-d
플래그를 전달하여 백그라운드에서 세션을 로드할 수도 있습니다.
tmux 레이아웃, 창 경로 및 창/세션 이름의 스냅샷을 찍습니다.
$ tmuxp freeze session-name
tmux 세션 정지에 대해 자세히 알아보세요.
세션 파일을 yaml에서 json으로 또는 그 반대로 변환합니다.
$ tmuxp convert filename
그러면 확인 메시지가 표시되고 작성될 새 파일이 표시됩니다.
프롬프트를 자동으로 확인할 수 있습니다. 이 경우 미리보기가 표시되지 않습니다.
$ tmuxp convert -y filename
$ tmuxp convert --yes filename
tmuxp에는 사용자 정의 동작을 허용하는 플러그인 시스템이 있습니다. 플러그인 시스템에 대해 자세히 알아보세요.
load
명령은 디버깅 목적으로 출력을 로그 파일에 기록하는 방법을 제공합니다.
$ tmuxp load --log-file < log-file-name > .
Github 문제와 함께 제출할 시스템 정보를 수집합니다.
$ tmuxp debug-info
------------------
environment:
system: Linux
arch: x86_64
# ... so on
빠른 시작을 참조하세요.
문서 홈페이지(중문으로도 가능)
tmux 자체에 대해 더 자세히 알고 싶으십니까? 온라인에서 Tmux의 Tao를 읽어보세요.
귀하의 기부금은 새로운 기능 개발, 테스트 및 지원에 대한 자금을 지원합니다. 귀하의 돈은 프로젝트의 유지 관리 및 개발에 직접 사용됩니다. 당신이 개인이라면, 프로젝트에서 얻는 가치에 적합하다고 생각되는 것을 자유롭게 제공하십시오.
https://git-pull.com/support.html에서 기부 옵션을 확인하세요.