gpt4 book ai didi

tmux - 如何在 tmux 启动时创建布局并运行命令?

转载 作者:行者123 更新时间:2023-12-05 01:02:41 27 4
gpt4 key购买 nike

我正在尝试编写一个可以运行/源代码的脚本,以便 tmux 设置特定的布局并运行命令。我有一些结果。

这是我到目前为止所写的内容:

selectp -t 1
splitw -v -p 15
splitw -h -p 50

selectp -t 1
send-keys 'cd ~/code/octoly' Enter
send-keys 'vim .' Enter

selectp -t 2
send-keys 'cd ~/code/octoly' Enter
send-keys 'drails c' Enter

new-window -d -n server -c ~/code/octoly
selectw -t 2
send-keys 'fd' Enter

splitw -h -p 50
send-keys 'cd ~/code/octoly' Enter
send-keys 'drails s' Enter

selectp -t 1
splitw -v -p 50
send-keys 'cd ~/code/octoly' Enter
send-keys 'be guard' Enter

或多或少是创建第二个窗口和 Pane 。虽然 Pane 没有给我我想要的。它们都在第一个窗口中创建,在第二个窗口中没有创建。

这是我运行以启动 tmux 的内容:
tmux new 'tmux move-window -t 99 \; source-file ~/.tmux/session_octoly'

此外,我真正迷失的地方是,如果我一个一个地手动运行每个命令,它就会给我想要的东西。

我在这里缺少什么?

最佳答案

首先,您使用的是 -d标志在 new-window这不会使新窗口成为当前窗口:

If -d is given, the session does not make the new window the current window.



但是我可能会加速 tmux以不同的方式,使用 tmux -f标志以使用可以执行您想要的操作的临时配置文件。
在您的环境中运行它之前,请检查命令。
# File: ~/.tmux/octoly.conf

# Load default .tmux.conf
source-file ~/.tmux.conf

# setup octoly session
new-session -s octoly -n editor -d -c ~/code/octoly
send-keys 'vim .' Enter

split-window -v -p 15 -c ~/code/octoly
send-keys 'drails c' Enter
split-window -h -p 50 -c ~/code/octoly

# Select vim pane
select-pane -t 1

# create second window
new-window -n server -c ~/code/octoly
send-keys 'fd' Enter

split-window -h -p 50 -c ~/code/octoly
send-keys 'drails s' Enter

select-pane -t 1
split-window -v -p 50 -c ~/code/octoly
send-keys 'be guard' Enter

# Optional step, reselect window 1 (the one with vim)
select-window -t editor

然后你需要启动 tmux使用:
tmux -f ~/.tmux/octoly.conf attach

另一种选择是构建一个发送相同命令的 bash 脚本。

备注 : 我用过 -c标志指定启动目录而不是每次运行 cd命令。鉴于每个命令都在同一个文件夹中运行,您可以在 split-window 中取出它们。命令。

关于tmux - 如何在 tmux 启动时创建布局并运行命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34769672/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com