Gerenciador de sessões para tmux, que permite aos usuários salvar e carregar sessões tmux por meio de arquivos de configuração simples. Desenvolvido por libtmux.
Novo no tmux? O Tao do tmux está disponível no Leanpub e Amazon Kindle. Leia e navegue pelo livro gratuitamente na web.
Tem algum tempo livre? Ajude-nos na triagem e revisão do código e do rastreador. Veja a edição nº 290!
pip:
$ pip install --user tmuxp
Preparação caseira:
$ brew install tmuxp
Debian/ubuntu:
$ sudo apt install tmuxp
Nix:
$ [[ -z $( which tmux ) ]] && (nix-env -i tmux && nix-env -i tmuxp) || nix-env -i tmuxp
Encontre o pacote para sua distro em repology: https://repology.org/project/tmuxp/versions
Lançamentos de desenvolvimento:
pip:
$ pip install --user --upgrade --pre tmuxp
pipx:
$ pipx install --suffix=@next ' tmuxp ' --pip-args ' --pre ' --force
Então use tmuxp@next load [session]
.
Carregue sessões tmux via json e YAML, estilo tmuxinator e teamocil.
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
Salve como mysession.yaml e carregue:
$ tmuxp load ./mysession.yaml
Projetos com .tmuxp.yaml ou .tmuxp.json são carregados via diretório:
$ tmuxp load path/to/my/project/
Carregue vários de uma vez (em BG, ofereça para anexar por último):
$ tmuxp load mysession ./another/project/
Nomeie uma sessão:
$ tmuxp load -s session_name ./mysession.yaml
exemplos de configuração simples e muito elaborados
tmuxp verifica configurações nos diretórios de usuários:
$TMUXP_CONFIGDIR
, se definido$XDG_CONFIG_HOME
, geralmente $HOME/.config/tmuxp/$HOME/.tmuxp/
Carregue sua configuração do tmuxp de qualquer lugar usando o nome do arquivo, assumindo ~/.config/tmuxp/mysession.yaml (ou .json ):
$ tmuxp load mysession
Veja as configurações do tmuxp do autor e o tmuxp.yaml dos projetos.
Novo em 1.6.0 :
tmuxp shell
é iniciado em um console python pré-carregado com o servidor, sessão e janela anexados em objetos libtmux.
$ 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))
Suporta breakpoint()
(incluindo PYTHONBREAKPOINT
). Também suporta comandos diretos via -c
:
$ tmuxp shell -c ' print(window.name) '
my_window
$ tmuxp shell -c ' print(window.name.upper()) '
MY_WINDOW
Leia mais sobre o shell tmuxp na documentação da CLI.
Execute scripts de inicialização personalizados (como instalar dependências do projeto antes de carregar o tmux. Veja o exemplo bootstrap_env.py e before_script
Você também pode carregar sessões em segundo plano passando o sinalizador -d
Faça um instantâneo do layout do tmux, caminhos dos painéis e nomes de janelas/sessões.
$ tmuxp freeze session-name
Veja mais sobre como congelar sessões do tmux.
Converta um arquivo de sessão de yaml para json e vice-versa.
$ tmuxp convert filename
Isso solicitará confirmação e mostrará o novo arquivo que será gravado.
Você pode confirmar automaticamente o prompt. Neste caso, nenhuma visualização será mostrada.
$ tmuxp convert -y filename
$ tmuxp convert --yes filename
tmuxp possui um sistema de plugins para permitir comportamento personalizado. Veja mais sobre o Sistema de Plugins.
O comando load
fornece uma maneira de registrar a saída em um arquivo de log para fins de depuração.
$ tmuxp load --log-file < log-file-name > .
Colete informações do sistema para enviar com um problema no Github:
$ tmuxp debug-info
------------------
environment:
system: Linux
arch: x86_64
# ... so on
Consulte o início rápido.
Página inicial da documentação (também em 中文)
Quer saber mais sobre o próprio tmux? Leia O Tao de Tmux online.
Suas doações financiam o desenvolvimento de novos recursos, testes e suporte. Seu dinheiro irá diretamente para manutenção e desenvolvimento do projeto. Se você é um indivíduo, sinta-se à vontade para dar o que achar certo pelo valor que você obtém com o projeto.
Veja as opções de doação em https://git-pull.com/support.html.