Wie kann ich tmux so einrichten, dass es mit dem angegebenen geöffneten Windows startet?
Antworten
Zu viele Anzeigen?Und so mache ich es:
#!/bin/bash
function has-session {
tmux has-session -t name_of_my_session 2>/dev/null
}
if has-session ; then
echo "Session already exists"
else
cd /path/to/my/project
tmux new-session -d -s name_of_my_session 'vim'
tmux split-window -h -p 40 start_web_server
tmux split-window -v
tmux attach-session -d -t name_of_my_session
fi
Ich habe eine Datei für jedes meiner Projekte. Man kann sie auch gruppieren, um einige für die Arbeit und andere für Hobbyprojekte zu haben.
Sie können es auch nach ~/bin
Ordner, fügen Sie ihn zu PATH
und geben tmux_my_awesome_project
Name. Dann können Sie es von jedem Ort aus ausführen.
Sie können verwenden tmux-Haken um Befehle auszuführen, wenn eine neue Sitzung erstellt wird. Konkret wird dies durch die Verwendung der session-created
Haken.
Um zum Beispiel den Bildschirm in drei Teile zu teilen, wobei der obere Teil unten rechts läuft, können Sie die folgende Zeile in Ihr ~/.tmux.conf
Datei:
set-hook -g session-created 'split -h ; split -v top'
Der Vorteil dieser Methode ist, dass Sie tmux nicht auf eine spezielle Art und Weise ausführen müssen (d.h. Shell-Skript oder Alias), um das gewünschte Ergebnis zu erhalten. Sie können dies auch kombinieren mit tmux new-session -A -s mysession
beschrieben in diese andere Antwort so dass die Hook-Befehle nur beim ersten Erstellen der Sitzung ausgeführt werden und nicht bei späteren Anhängen.
Diese Funktion wurde hinzugefügt von d15d54c2c aus dem Jahr 2016. Die erste Version, die es enthält, ist 2.4.
Essayez Bruder ist es ein Projekt-Bootstrapper.
Es bietet einfache Apis zur Interaktion mit tmux
.
Es sieht in etwa so aus:
#!/bin/sh
# @ project_name/tasks/init.sh
structure project_name
window editor
run 'vim'
window terminal
run 'echo happy coding ...'
focus editor
connect project_name
Um ein Projekt zu starten, muss man nur den folgenden Befehl ausführen -
bro start <project_name>
Im folgenden Screencast sehen Sie, wie Sie mit bro
und verwenden seine tmux
api.
https://user-images.githubusercontent.com/8296449/50532502-2cf3e400-0b6e-11e9-84af-c5f77a04e5cc.gif
Hierfür gibt es ein tmux-Plugin.
Überprüfen Sie tmux-resurrect
Wiederherstellung der tmux-Umgebung nach dem Neustart des Systems.
Tmux ist großartig, außer wenn man den Computer neu starten muss. Sie verlieren alle laufenden Programme, Arbeitsverzeichnisse, Fensterlayouts usw. Es gibt hilfreiche Verwaltungstools, aber sie erfordern eine anfängliche Konfiguration und ständige Aktualisierungen, wenn sich Ihr Arbeitsablauf weiterentwickelt oder Sie neue Projekte beginnen.
tmux-resurrect speichert alle kleinen Details Ihrer tmux-Umgebung, so dass sie nach einem Systemneustart (oder wenn Ihnen danach ist) vollständig wiederhergestellt werden kann. Es ist keine Konfiguration erforderlich. Sie sollten das Gefühl haben, dass Sie tmux nie verlassen haben.
Oder tmux-Kontinuum
Merkmale:
- kontinuierliche Speicherung der tmux Umgebung
- automatischer tmux-Start beim Einschalten des Computers/Servers
- automatische Wiederherstellung beim Start von tmux