在我的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脚本吗?
答案 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