Tmux 和 Kitty

Monday, July 1, 2024

背景

  平时喜欢在终端(zsh)里使用 tmux 来跑一些命令(因为习惯性的关闭终端,所以有一些命令跑完想回过头来看看结果,就无从下手了),但是每次打开终端后都要手动执行下 tat tmp (alias tat = "tmux attach -t") 很麻烦,所以找了找有没有办法能够在启动终端的时候默认执行,有则 tmux attach,无则 tmux new -s tmp,减少重复性操作。

探索

  在 ~/.config/kitty/kitty.conf 配置中,可以通过修改默认 shell 执行命令,来改变终端进入时执行的默认指令:

如果你有几个 tmux session 并且想在打开终端时选择要进入的 session 那就可以结合 fzf 来实现:

shell /bin/zsh -l -c "tmux ls -F '#{session_name}' | fzf  --reverse --height ${FZF_TMUX_HEIGHT:-40%} --bind=enter:replace-query+print-query | read session && tmux attach -t ${session:-tmp} || tmux new -s ${session:-tmp}"

  但是经过一段时间的使用,发现还是直接进入tmp的情况比较多,所以就简化为:

shell /bin/zsh -l -c "tmux attach -t ${session:-tmp} || tmux new -s ${session:-tmp}"

   大功告成!!

果然,懒惰是进步的阶梯,hhhhhh