我如何设置tmux,使它启动与指定的窗口打开?
当前回答
py允许您在每个窗格中简单地列出所需的命令,并以包含三个破折号的行作为前缀。
下面是一个示例smux文件,它启动了三个窗格。
---
echo "This is pane 1."
---
cd /tmp
git clone https://github.com/hq6/smux
cd smux
less smux.py
---
man tmux
如果你把它放在一个叫做Sample的文件里。Smux,然后可以运行以下命令来启动。
pip3 install smux.py
smux.py Sample.smux
完全免责声明:我是smux.py的作者。
其他回答
我试图创建一个复杂的窗格网格,不得不一遍又一遍地处理切换和分割窗格。以下是我的体会:
tmux new-session \;
让你开始新的疗程。要将其水平或垂直分割,请使用split-window -h或-v,如下所示:
tmux new-session \; split-window -v \; split-window -h \;
创建3个窗格,如下所示:
------------
| |
|----------|
| | |
------------
要在该窗格中运行命令,只需添加发送键'my-command'命令和执行命令的C-m:
tmux new-session \; \
send-keys 'tail -f /var/log/monitor.log' C-m \; \
split-window -v \; \
split-window -h \; \
send-keys 'top' C-m \;
结果会话应该是这样的。
------------
| tail |
|----------|
| | top |
------------
现在,我再次尝试细分左下角的窗格,因此可以使用last-pane返回,或者在更复杂的窗口中,使用select-pane -t 1,其中1是按从0开始创建的顺序创建的窗格的编号。
tmux new-session \; \
send-keys 'tail -f /var/log/monitor.log' C-m \; \
split-window -v \; \
split-window -h \; \
send-keys 'top' C-m \; \
select-pane -t 1 \; \
split-window -v \; \
send-keys 'weechat' C-m \;
这是否。基本上你只需要知道如何使用分割窗口和选择窗格。通过-p 75传递拆分窗口创建的窗格的百分比大小也很方便,这样可以更好地控制窗格的大小。
tmux new-session \; \
send-keys 'tail -f /var/log/monitor.log' C-m \; \
split-window -v -p 75 \; \
split-window -h -p 30 \; \
send-keys 'top' C-m \; \
select-pane -t 1 \; \
split-window -v \; \
send-keys 'weechat' C-m \;
是什么导致会话看起来像这样
------------------
| tail |
|----------------|
| | top |
|----------| |
| weechat | |
------------------
这对我很有用。创建5个具有给定名称的窗口,并自动选择到主窗口。
new -n home
neww -n emacs
neww -n puppet
neww -n haskell
neww -n ruby
selectw -t 1
py允许您在每个窗格中简单地列出所需的命令,并以包含三个破折号的行作为前缀。
下面是一个示例smux文件,它启动了三个窗格。
---
echo "This is pane 1."
---
cd /tmp
git clone https://github.com/hq6/smux
cd smux
less smux.py
---
man tmux
如果你把它放在一个叫做Sample的文件里。Smux,然后可以运行以下命令来启动。
pip3 install smux.py
smux.py Sample.smux
完全免责声明:我是smux.py的作者。
这个脚本启动一个名为“e”的会话和三个窗口
#!/bin/sh
tmux new-session -s e -n etc -d 'cd /etc; bash -i'
tmux new-window -t e:1 -n home 'cd ~; bash -i'
tmux new-window -t e:2 -n log 'cd /var/log; bash -i'
tmux select-window -t e:1
tmux -2 attach-session -t e
如果你只是想把屏幕分成2个窗格(水平),你可以运行这个命令(不需要tmux或shell脚本):
tmux new-session \; split-window -h \;
你的屏幕会是这样的:
[ks@localhost ~]$ │[ks@localhost ~]$
│
│
│
│
│
│
│
│
│
│
│
[10] 0:ks@localhost:~* "localhost.localdomain" 19:51 31-янв-16