Gestionnaire de sessions pour tmux, qui permet aux utilisateurs de sauvegarder et de charger des sessions tmux via de simples fichiers de configuration. Propulsé par libtmux.
Nouveau sur tmux ? Le Tao de tmux est disponible sur Leanpub et Amazon Kindle. Lisez et parcourez le livre gratuitement sur le Web.
Vous avez du temps libre ? Aidez-nous au tri, à la révision du code et au tracker. Voir le numéro 290 !
pépin:
$ pip install --user tmuxp
Homebrew :
$ brew install tmuxp
Debian/ubuntu :
$ sudo apt install tmuxp
Rien:
$ [[ -z $( which tmux ) ]] && (nix-env -i tmux && nix-env -i tmuxp) || nix-env -i tmuxp
Trouvez le package pour votre distribution sur repology : https://repology.org/project/tmuxp/versions
Versions de développement :
pépin:
$ pip install --user --upgrade --pre tmuxp
pipx :
$ pipx install --suffix=@next ' tmuxp ' --pip-args ' --pre ' --force
Utilisez ensuite tmuxp@next load [session]
.
Chargez des sessions tmux via json et YAML, style tmuxinator et 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
Enregistrez sous mysession.yaml et chargez :
$ tmuxp load ./mysession.yaml
Les projets avec .tmuxp.yaml ou .tmuxp.json se chargent via le répertoire :
$ tmuxp load path/to/my/project/
Chargez-en plusieurs à la fois (en bg, proposez de joindre en dernier) :
$ tmuxp load mysession ./another/project/
Nommez une session :
$ tmuxp load -s session_name ./mysession.yaml
exemples de configuration simples et très élaborés
tmuxp vérifie les configurations dans les répertoires utilisateur :
$TMUXP_CONFIGDIR
, si défini$XDG_CONFIG_HOME
, généralement $HOME/.config/tmuxp/$HOME/.tmuxp/
Chargez votre configuration tmuxp de n'importe où en utilisant le nom de fichier, en supposant ~/.config/tmuxp/mysession.yaml (ou .json ) :
$ tmuxp load mysession
Voir les configurations tmuxp de l'auteur et le tmuxp.yaml des projets.
Nouveau en 1.6.0 :
tmuxp shell
se lance dans une console Python préchargée avec le serveur, la session et la fenêtre attachés dans les objets 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))
Prend en charge breakpoint()
(y compris PYTHONBREAKPOINT
). Prend également en charge les commandes directes via -c
:
$ tmuxp shell -c ' print(window.name) '
my_window
$ tmuxp shell -c ' print(window.name.upper()) '
MY_WINDOW
En savoir plus sur le shell tmuxp dans la documentation CLI.
Exécutez des scripts de démarrage personnalisés (tels que l'installation des dépendances du projet avant de charger tmux. Voir l'exemple bootstrap_env.py et before_script
Vous pouvez également charger des sessions en arrière-plan en passant l'indicateur -d
Prenez un instantané de votre disposition tmux, des chemins d'accès aux volets et des noms de fenêtres/sessions.
$ tmuxp freeze session-name
En savoir plus sur le gel des sessions tmux.
Convertissez un fichier de session de yaml en json et vice versa.
$ tmuxp convert filename
Cela vous demandera une confirmation et vous montrera le nouveau fichier qui va être écrit.
Vous pouvez confirmer automatiquement l'invite. Dans ce cas, aucun aperçu ne sera affiché.
$ tmuxp convert -y filename
$ tmuxp convert --yes filename
tmuxp dispose d'un système de plugins pour permettre un comportement personnalisé. En savoir plus sur le système de plugins.
La commande load
fournit un moyen de consigner la sortie dans un fichier journal à des fins de débogage.
$ tmuxp load --log-file < log-file-name > .
Collectez les informations système à soumettre avec un problème Github :
$ tmuxp debug-info
------------------
environment:
system: Linux
arch: x86_64
# ... so on
Consultez le démarrage rapide.
Page d'accueil de la documentation (également en 中文)
Vous voulez en savoir plus sur tmux lui-même ? Lisez Le Tao de Tmux en ligne.
Vos dons financent le développement de nouvelles fonctionnalités, les tests et le support. Votre argent ira directement à la maintenance et au développement du projet. Si vous êtes un particulier, n'hésitez pas à donner ce qui vous convient pour la valeur que vous retirez du projet.
Voir les options de don sur https://git-pull.com/support.html.