Wie kann ich tmux so einrichten, dass es mit dem angegebenen geöffneten Windows startet?
Antworten
Zu viele Anzeigen?Schauen Sie mal @ https://github.com/remiprev/teamocil
können Sie Ihre Struktur mit YAML festlegen
windows:
- name: sample-window
splits:
- cmd: vim
- cmd:
- ipython
width: 50
- cmd:
height: 25
Aus meinem "get.all"-Skript, das ich jeden Morgen aufrufe, um eine Reihe von "get.XXX"-Aufträgen auszuführen, die die von mir verfolgte Software aktualisieren. Einige von ihnen beenden sich automatisch. Andere erfordern mehr Interaktion, sobald das "get" beendet ist (z. B. die Aufforderung zum Erstellen von Emacs).
#!/bin/sh
tmux att -t get ||
tmux \
new -s get -n capp \; \
send-keys 'get.capp' C-m \; \
neww -n emacs \; \
send-keys 'get.emacs' C-m \; \
neww -n git \; \
send-keys 'get.git' C-m \; \
neww -n mini \; \
send-keys 'get.mini' C-m \; \
neww -n port \; \
send-keys 'get.port' C-m \; \
neww -n rakudo \; \
send-keys 'get.rakudo' C-m \; \
neww -n neil \; \
send-keys 'get.neil && get.neil2 && exit' C-m \; \
neww -n red \; \
send-keys 'get.red && exit' C-m \; \
neww -n cpan \; \
send-keys 'get.cpan && exit' C-m \; \
selectw -t emacs
Wenn Sie nur den Bildschirm auf 2 Bereiche aufteilen wollen (z.B. horizontal), können Sie diesen Befehl ausführen (kein tmux oder Shell-Skript erforderlich):
tmux new-session \; split-window -h \;
Ihr Bildschirm sieht dann wie folgt aus:
[ks@localhost ~]$ [ks@localhost ~]$
[10] 0:ks@localhost:~* "localhost.localdomain" 19:51 31--16
Zuerst hatte ich den Ansatz von @jasonwryan aber wenn Sie mehr als 2 Konfigurationen haben, kann es verwirrend werden.
Also habe ich eine Alias-Funktion erstellt:
tmx () {
tmux "$2" source-file "$HOME/.tmux/$1.conf";
}
Unter ~/.tmux/
Ich habe mehrere Sitzungen für viele Zwecke. Zum Beispiel arbeite ich für verschiedene Unternehmen, die jeweils eine andere Entwicklungsumgebung haben. Mit der Alias-Funktion oben kann ich also einfach aufrufen: tmx company1
und laden Sie die benötigte Konfiguration.
Aktualisierung: Der Zweck von "$2" nach der tmux
Befehl ist, dass Sie zusätzliche tmux-Argumente übergeben können.