启动zsh终端时默认情况下具有tmux加载


23

我当前的工作流程是:

  1. CTRL+ SHIFT+ T启动新的终端窗口。这将启动一个新的zsh终端。
  2. 键入tmux以启动tmux。

默认情况下,如何在新的终端窗口中加载tmux?

Answers:


36

至少有两种方法:

  1. 写类似

    if [ "$TMUX" = "" ]; then tmux; fi

    在的开始~/.zshrc。注意在tmux产生自己的条件测试时可能的循环zsh

  2. 将终端启动命令修改为类似

    xterm -e tmux

我更喜欢第二种方式,因为有时我需要启动一个不带终端的终端tmux(例如,当我需要重新连接到现有会话时)。


2
或为xterm -e tmux和Plain 提供不同的快捷方式xterm
Nikolai N Fetissov 2012年

是的,实际上我的意思是“我更喜欢第二种方式” =)

1
tmux在末尾执行.zshrc将导致zsh起始tmux无限循环起始zsh起始tmux循环...
2012年

如何修改“终端启动命令”?
eoinoc 2012年

@eoinoc取决于您的环境。例如,我正在使用很棒的wm,因此我只需要在配置文件中修改字符串即可。在kde中,您需要编辑热键。等等。
2012年

6

echo tmux >> ~/.zshrc但是,请谨慎使用该解决方案,我记得简单地bash.cshrc文件中抛出a 会给我带来SSH麻烦。

IIRC非交互式shell出现了问题,因此您应该对此进行测试。

case $- in *i*)
  if [ -z "$TMUX" ]; then exec tmux; fi;;
esac

您在"和之间缺少空格]
2014年

5

将它添加到您的 .zshrc

if [ -z "$TMUX" ]
then
    tmux attach -t TMUX || tmux new -s TMUX
fi

那么当您启动终端时,tmux将自动连接到名为TMUX的会话。


1

其实有一个默认插件tmuxoh_my_zsh

将其添加到您的插件列表中,然后ZSH_TMUX_AUTOSTART=true.zshrc

有关更多参考,请转到此处


0

在您的.zshrc文件中添加“ tmux”,该文件在您每次启动zsh时都会执行。快速方法:

echo tmux >> ~/.zshrc

这样做的原因是,它会在每个新实例中启动一个新会话,并用从未退出过的会话使tmux膨胀(tmux也会抱怨​​它)。不是一个好的解决方案。
Eksapsy

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.