我有一个.tmux.conf
文件,当我按正确的键(在这种情况下,Ctrl + b
后跟'k')时,它将绑定一组其他的tmux指令:
bind k source-file ~/.tmux/myfile
当我进入tmux终端并按Ctrl + b
后再按k
时,它可以正常工作,并且myfile中的脚本按预期运行。我现在正尝试使用.bashrc
文件中的命令通过将密钥发送到tmux会话后将其发送到启动所有这些操作:
launch_things() {
tmux new-session -d -s mysession
tmux send-keys -t mysession C-b k
tmux a -t mysession
}
但是,这不起作用。它开始了tmux会话,显然是弯曲了它的键,然后将其附加到该会话。我不确定这是因为我在发送键时做错了什么,还是无法发送像这样的键组合。请注意,我在附着时可以 在屏幕上看到字母k
,因此send-keys
功能正在完成某事。
有人可以告诉我我做错了什么,还是建议另一种方法从我的bash脚本启动绑定的源文件(~/.tmux/myfile
)?
P.S。如果可以,那么我正在运行Ubuntu 16.04。
答案 0 :(得分:1)
似乎send-keys
在发送字符串时不会尝试将其解释为前缀字符。有命令send-prefix
,但其行为方式相同。
所以简单的答案是做tmux source-file ~/.tmux/myfile
或更长的时间
tmux attach-session -t mysession\; source-file ~/.tmux/myfile\; detach-client