背景
平时喜欢在终端(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