如何手动确保 tmux 启动时 bash 完成?

如何手动确保 tmux 启动时 bash 完成?

这里的问题可能是跨平台问题(我正在运行安装有tmuxBrew 的MacOSX BrewBASH和 bash 补全。

当我第一次安装时tmux,一个新的打开窗口的运行方式与具有完全初始化的 bash 环境的本机 linux tmux 会话完全相同。 Bash 补全尤其有效。


最近,bash 补全在打开新窗口时停止运行。我有一个“微不足道”的解决方法:

$: tmux new -s foo
$: vi 
(from vi)
:sh
$: echo "bash completion is now working again"

但是,几周后,这个问题就得到了修复。


我认为这个问题是一个 X 或 Y 问题:要么我tmux在 MacOSX 上修复(并了解如何tmuxbash如何bash-completion在幕后工作),

- 或者 -

我弄清楚如何在创建窗口时tmux运行vi并将“:sh”键发送到窗口。vi

后一个选项一方面更容易,但有一些缺点,会让我回到解决方案一:每次我想杀死一个窗口时,我都必须++(这很常见)CTRL-DSHIFT[colon]q!CTRL-D


我的问题与第一个选项有关:

如何管理或控制tmux启动和/或特定于窗口的启动,以便我可以手动初始化bashbash-completion使用 Mac 上所需的任何适当(或黑客)修复来恢复新tmux窗口的典型工作顺序?

答案1

显式设置 tmux 中的默认 shell。

set-option -g default-shell /bin/bash

相关内容