Sitzungsmanager für tmux, der es Benutzern ermöglicht, tmux-Sitzungen über einfache Konfigurationsdateien zu speichern und zu laden. Unterstützt von libtmux.
Neu bei tmux? Das Tao von tmux ist auf Leanpub und Amazon Kindle erhältlich. Lesen und stöbern Sie im Buch kostenlos im Internet.
Haben Sie etwas Freizeit? Helfen Sie uns bei der Triage, Codeüberprüfung und dem Tracker. Siehe Ausgabe Nr. 290!
Pip:
$ pip install --user tmuxp
Selbstgebraut:
$ 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
Finden Sie das Paket für Ihre Distribution auf repology: https://repology.org/project/tmuxp/versions
Entwicklungsversionen:
Pip:
$ pip install --user --upgrade --pre tmuxp
pipx:
$ pipx install --suffix=@next ' tmuxp ' --pip-args ' --pre ' --force
Dann verwenden Sie tmuxp@next load [session]
.
Laden Sie tmux-Sitzungen über JSON und YAML, tmuxinator und teamocil-Stil.
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
Speichern Sie es als mysession.yaml und laden Sie:
$ tmuxp load ./mysession.yaml
Projekte mit .tmuxp.yaml oder .tmuxp.json laden über das Verzeichnis:
$ tmuxp load path/to/my/project/
Mehrere gleichzeitig laden (in BG, Angebot zum Anhängen zuletzt):
$ tmuxp load mysession ./another/project/
Benennen Sie eine Sitzung:
$ tmuxp load -s session_name ./mysession.yaml
einfache und sehr ausführliche Konfigurationsbeispiele
tmuxp sucht nach Konfigurationen in Benutzerverzeichnissen:
$TMUXP_CONFIGDIR
, falls festgelegt$XDG_CONFIG_HOME
, normalerweise $HOME/.config/tmuxp/$HOME/.tmuxp/
Laden Sie Ihre tmuxp-Konfiguration von überall, indem Sie den Dateinamen verwenden, vorausgesetzt ~/.config/tmuxp/mysession.yaml (oder .json ):
$ tmuxp load mysession
Siehe die tmuxp-Konfigurationen des Autors und die tmuxp.yaml der Projekte.
Neu in 1.6.0 :
tmuxp shell
wird in einer Python-Konsole gestartet, auf der der angeschlossene Server, die Sitzung und das Fenster in libtmux-Objekten vorinstalliert sind.
$ 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))
Unterstützt PEP 553 breakpoint()
(einschließlich PYTHONBREAKPOINT
). Unterstützt auch direkte Befehle über -c
:
$ tmuxp shell -c ' print(window.name) '
my_window
$ tmuxp shell -c ' print(window.name.upper()) '
MY_WINDOW
Weitere Informationen zur tmuxp-Shell finden Sie in den CLI-Dokumenten.
Führen Sie benutzerdefinierte Startskripts aus (z. B. die Installation von Projektabhängigkeiten, bevor Sie tmux laden). Sehen Sie sich die Beispiele „bootstrap_env.py“ und „before_script“ an
Sie können Sitzungen auch im Hintergrund laden, indem Sie das Flag -d
übergeben
Erstellen Sie einen Snapshot Ihres tmux-Layouts, der Bereichspfade und der Fenster-/Sitzungsnamen.
$ tmuxp freeze session-name
Erfahren Sie mehr über das Einfrieren von tmux-Sitzungen.
Konvertieren Sie eine Sitzungsdatei von Yaml nach JSON und umgekehrt.
$ tmuxp convert filename
Dadurch werden Sie zur Bestätigung aufgefordert und die neue Datei angezeigt, die geschrieben werden soll.
Sie können die Eingabeaufforderung automatisch bestätigen. In diesem Fall wird keine Vorschau angezeigt.
$ tmuxp convert -y filename
$ tmuxp convert --yes filename
tmuxp verfügt über ein Plugin-System, um benutzerdefiniertes Verhalten zu ermöglichen. Erfahren Sie mehr über das Plugin-System.
Der load
bietet eine Möglichkeit, die Ausgabe zu Debugzwecken in einer Protokolldatei zu protokollieren.
$ tmuxp load --log-file < log-file-name > .
Sammeln Sie Systeminformationen, um sie bei einem Github-Problem einzureichen:
$ tmuxp debug-info
------------------
environment:
system: Linux
arch: x86_64
# ... so on
Siehe Schnellstart.
Dokumentations-Homepage (auch in 中文)
Möchten Sie mehr über tmux selbst erfahren? Lesen Sie „Das Tao von Tmux“ online.
Mit Ihren Spenden finanzieren Sie die Entwicklung neuer Funktionen, Tests und Support. Ihr Geld fließt direkt in die Wartung und Entwicklung des Projekts. Wenn Sie eine Einzelperson sind, können Sie gerne alles geben, was sich für den Wert, den Sie aus dem Projekt ziehen, richtig anfühlt.
Spendenoptionen finden Sie unter https://git-pull.com/support.html.