tmux split-window shell命令,在shell启动前设置env变量

时间:2015-10-07 14:21:40

标签: shell tmux

在我的tmux配置中,我有一个拆分窗口命令:

bind C-j split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^\"(tmux display-message -p '#S')\"\\\$\" | fzf --reverse | xargs tmux switch-client -t"

它将运行shell会话中的所有命令,如tmux手册的拆分窗口中所定义。但是,我的shell包含许多与此自定义tmux密钥绑定无关的init脚本。他们很慢。我可以在split-window启动shell会话之前设置一个env变量,这样我可以跳过一些shell init脚本吗?

1 个答案:

答案 0 :(得分:1)

注意:已更新,现在使用tmux环境。

您可以在命令管道的开头设置此变量。然后,您的shell init脚本可以检查其值并相应地执行操作,例如跳过初始化的某些部分。

bind C-j set-environment TMUXSPLIT 1 \; split-window -v "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^\"(tmux display-message -p '#S')\"\\\$\" | fzf --reverse | xargs tmux switch-client -t"

我认为这是在Ubuntu下使用bash运行的。在你的bashrc中写下类似的东西:

if [ "$TMUXSPLIT" = 1 ]; then
    ...
fi