从 bash 启动时在 tmux 中绑定源文件
bind source-file in tmux on startup from bash
我有一个 .tmux.conf
文件,当我按下正确的键时,它会绑定一组进一步的 tmux 指令(在这种情况下,Ctrl + b
后跟 'k'):
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 如果这有区别的话。
似乎 send-keys
在发送字符串时不会尝试将它们解释为前缀字符。有命令 send-prefix
但其行为方式相同。
所以简单的答案是 tmux source-file ~/.tmux/myfile
或者更长的时间
tmux attach-session -t mysession\; source-file ~/.tmux/myfile\; detach-client
我有一个 .tmux.conf
文件,当我按下正确的键时,它会绑定一组进一步的 tmux 指令(在这种情况下,Ctrl + b
后跟 'k'):
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 如果这有区别的话。
似乎 send-keys
在发送字符串时不会尝试将它们解释为前缀字符。有命令 send-prefix
但其行为方式相同。
所以简单的答案是 tmux source-file ~/.tmux/myfile
或者更长的时间
tmux attach-session -t mysession\; source-file ~/.tmux/myfile\; detach-client