这是一个独立的、漂亮且多功能的 .tmux.conf 配置文件。

要求:
>= 2.6 在 Linux、Mac、OpenBSD、Cygwin 或 WSL 中运行$TERM 必须设置为 xterm-256color⚠️ 安装之前,您可能想备份现有配置。
您可以在以下任一位置安装 Oh my tmux!:
~$XDG_CONFIG_HOME/tmux~/.config/tmux在 ~ 中安装:
$ cd
$ git clone https://github.com/gpakosz/.tmux.git
$ ln -s -f .tmux/.tmux.conf
$ cp .tmux/.tmux.conf.local .
在 $XDG_CONFIG_HOME/tmux 中安装:
$ git clone https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux"
$ mkdir -p "$XDG_CONFIG_HOME/tmux"
$ ln -s "/path/to/oh-my-tmux/.tmux.conf" "$XDG_CONFIG_HOME/tmux/tmux.conf"
$ cp "/path/to/oh-my-tmux/.tmux.conf.local" "$XDG_CONFIG_HOME/tmux/tmux.conf.local"
在 ~/.config/tmux 中安装:
$ git clone https://github.com/gpakosz/.tmux.git "/path/to/oh-my-tmux"
$ mkdir -p "~/.config/tmux"
$ ln -s "/path/to/oh-my-tmux/.tmux.conf" "~/.config/tmux/tmux.conf"
$ cp "/path/to/oh-my-tmux/.tmux.conf.local" "~/.config/tmux/tmux.conf.local"
⚠️ 在 $XDG_CONFIG_HOME/tmux 或 ~/.config/tmux 中安装时,配置文件名前面没有 . 字符。
❗️ 您永远不应该修改主 .tmux.conf 或 tmux.conf 文件。如果这样做,后果自负。相反,每个自定义都应该在您的 .tmux.conf.local 或 tmux.conf.local 自定义文件副本中进行。
如果您是 Vim 用户,将 $EDITOR 环境变量设置为 vim 将启用并进一步自定义 vi 风格的键绑定(参见 tmux 手册)。
如果您是 tmux 新手,我建议您阅读 @bphogan 的 tmux 2: Productive Mouse-Free Development。
现在继续[调整]您的 .local 自定义文件副本。
我正在运行 tmux HEAD,但是东西不能正常工作。我该怎么办?
请开一个 issue 描述即将发布的 tmux 中不工作的内容。我会尽最大努力解决它。
状态栏损坏和/或在屏幕底部重复。这是怎么回事?
这在 Linux 上尤其常见,当发行版提供了接收 Unicode 9.0 升级的 glib 版本(glib >= 2.50.1),同时提供了未升级的 glibc 版本(glibc < 2.26)时。您也可以将 LC_CTYPE 配置为使用 UTF-8 语言环境。通常,基于 VTE 的终端模拟器依赖于 glib 的 g_unichar_iswide() 函数,而 tmux 依赖于 glibc 的 wcwidth() 函数。当这两个函数不一致时,显示就会混乱。
在 macOS 上使用 iTerm2 并启用"使用 Unicode 版本 9 字符宽度"(在 Preferences... > Profiles > Text 中)时,也可能发生这种情况。
出于这个原因,默认示例 .local 自定义文件停止使用 Unicode 8.0 和 9.0 标准之间宽度发生变化的 Unicode 字符,以及 Emoji。
我安装了 Powerline 和/或(修补过的)字体,但看不到 Powerline 符号。
首先,您不需要安装 Powerline。您只需要用 Powerline 符号修补过的字体或独立的 PowerlineSymbols.otf 字体。然后确保您的 .local 自定义文件副本在 tmux_conf_theme_left_separator_XXX 值中使用 Powerline 代码点。
我正在使用 Bash On Windows (WSL),颜色和 Powerline 外观损坏。
目前在为 Bash On Windows 提供动力的新控制台中存在一个 bug,阻止文本属性(粗体、下划线等)与颜色正确组合。解决方法是搜索您的 .local 自定义文件副本,并将属性替换为 'none'。
此外,在 Windows 控制台用 DirectWrite 替换其基于 GDI 的渲染之前,Powerline 符号将会损坏。
替代方案是使用 WSL 的 Mintty 终端。
C-a 作为辅助前缀,同时保留默认的 C-b 前缀<prefix> + 将任何窗格最大化为新窗口<prefix> m 切换鼠标模式xsel、xclip 或 wl-copy)"使用 <prefix> + 将任何窗格最大化为新窗口"功能与内置的 resize-pane -Z 不同,因为它允许您进一步分割最大化的窗格。它还更灵活,允许您将窗格最大化为新窗口,然后切换窗口,然后返回,窗格仍然在其自己的窗口中处于最大化状态。然后,您可以通过从源窗口或最大化窗口使用 <prefix> + 来最小化窗格。

鼠标模式允许您设置活动窗口、设置活动窗格、调整窗格大小,并自动切换到复制模式以选择文本。

可以通过使用前缀键和命令键的组合来控制已附加客户端的 tmux。此配置使用 C-a 作为辅助前缀,同时保留 C-b 作为默认前缀。在以下键绑定列表中:
<prefix> 表示您必须按下 <kbd>Ctrl</kbd> + <kbd>a</kbd> 或 <kbd>Ctrl</kbd> + <kbd>b</kbd><prefix> c 表示您必须按下 <kbd>Ctrl</kbd> + <kbd>a</kbd> 或 <kbd>Ctrl</kbd> + <kbd>b</kbd> 然后按 <kbd>c</kbd><prefix> C-c 表示您必须按下 <kbd>Ctrl</kbd> + <kbd>a</kbd> 或 <kbd>Ctrl</kbd> + <kbd>b</kbd> 然后按 <kbd>Ctrl</kbd> + <kbd>c</kbd>此配置使用以下绑定:
<prefix> e 用 $EDITOR 环境变量定义的编辑器(为空时默认为 vim)打开 .local 自定义文件副本
<prefix> r 重新加载配置
C-l 清除屏幕和 tmux 历史记录
<prefix> C-c 创建新会话
<prefix> C-f 让您按名称切换到另一个会话
<prefix> C-h 和 <prefix> C-l 让您导航窗口(默认的 <prefix> n 和 <prefix> p 未绑定)
<prefix> Tab 带您到最后活动的窗口
<prefix> - 垂直分割当前窗格
<prefix> _ 水平分割当前窗格
<prefix> h、<prefix> j、<prefix> k 和 <prefix> l 让您像 Vim 一样导航窗格
<prefix> H、<prefix> J、<prefix> K、<prefix> L 让您调整窗格大小
<prefix> < 和 <prefix> > 让您交换窗格
<prefix> + 将当前窗格最大化为新窗口
<prefix> m 切换鼠标模式开关
<prefix> U 启动 Urlscan(首选)或 Urlview(如果可用)
<prefix> F 启动 Facebook PathPicker(如果可用)
<prefix> Enter 进入复制模式
<prefix> b 列出粘贴缓冲区
<prefix> p 从顶部粘贴 缓冲区粘贴
<prefix> P 让您选择要从中粘贴的粘贴缓冲区
此外,copy-mode-vi 匹配我自己的 Vim 配置
copy-mode-vi 的绑定:
v 开始选择/可视模式C-v 在块状可视模式和可视模式之间切换H 跳转到行首L 跳转到行尾y 将选择复制到顶部粘贴缓冲区Escape 取消当前操作虽然此配置尝试提供合理的默认设置,但您可能希望根据自己的需求进一步自定义它。
❗️ 再次强调,您永远不应该修改主 .tmux.conf 或 tmux.conf 文件。如果这样做,后果自负。
请参考示例 .local 自定义文件以了解更多关于允许您改变不同行为的变量。成功安装后,按 <prefix> e 将用 $EDITOR 环境变量定义的编辑器(为空时默认为 vim)打开您的 .local 自定义文件副本。
Powerline 最初是 Vim 的状态行插件。它受欢迎的醒目外观基于使用特殊符号: <img width="80" alt="Powerline 符号" style="vertical-align: middle;" src="https://yellow-cdn.veclightyear.com/2b54e442/3cd48e7f-e38e-4634-afab-f98f7d753958.png" />
要使用这些符号,有几个选项:
PowerlineSymbols.otf 的 iTerm2 截图

然后编辑你的 .local 自定义文件副本(使用 <prefix> e)并调整以下变量:
tmux_conf_theme_left_separator_main='\uE0B0'
tmux_conf_theme_left_separator_sub='\uE0B1'
tmux_conf_theme_right_separator_main='\uE0B2'
tmux_conf_theme_right_separator_sub='\uE0B3'
Powerline 手册包含了如何安装包含 Powerline 符号的字体的更多细节。但你不需要安装 Powerline 本身。
编辑你的 .local 自定义文件副本(<prefix> e)并根据你自己的偏好调整 tmux_conf_theme_status_left 和 tmux_conf_theme_status_right 变量。
此配置支持以下内置变量:
#{battery_bar}: 水平电池充电条#{battery_hbar}: 1 字符宽,水平电池充电条#{battery_vbar}: 1 字符宽,垂直电池充电条#{battery_percentage}: 电池百分比#{battery_status}: 电池是充电还是放电?#{circled_session_name}: 圆圈中的会话号,最多 20#{hostname}: SSH/Mosh 感知的主机名信息#{hostname_ssh}: SSH/Mosh 感知的主机名信息,未通过 SSH/Mosh 连接到远程服务器时为空#{loadavg}: 平均负载#{pairing}: 会话是否连接到多个客户端?#{prefix}: 前缀键是否被按下?#{root}: 当前用户是否为 root?#{synchronized}: 面板是否同步?#{uptime_y}: 运行时间(年)#{uptime_d}: 运行时间(天),使用 #{uptime_y} 时取模 365#{uptime_h}: 运行时间(小时)#{uptime_m}: 运行时间(分钟)#{uptime_s}: 运行时间(秒)#{username}: SSH/Mosh 感知的用户名信息#{username_ssh}: SSH 感知的用户名信息,未通过 SSH/Mosh 连接到远程服务器时为空除了上面提到的变量外,tmux_conf_theme_status_left 和 tmux_conf_theme_status_right 变量还支持常规的 tmux 语法,例如使用 #() 调用外部命令插入由 wttr.in 提供的天气信息:
tmux_conf_theme_status_right='#{prefix}#{pairing}#{synchronized} #(curl -m 1 wttr.in?format=3 2>/dev/null; sleep 900) , %R , %d %b | #{username}#{root} | #{hostname} '
sleep 900 调用确保无论 status-interval 的值如何,网络请求最多每 15 分钟发出一次。

💡 你也可以通过编写特殊函数来定义自己的自定义变量,请参阅示例 .local 自定义文件以获取说明。
最后,请记住 tmux_conf_theme_status_left 和 tmux_conf_theme_status_right 最终会作为 status-left 和 status-right 传递给 tmux,这意味着它们会通过 strftime() 处理。因此,% 字符具有特殊含义,需要通过将其加倍来转义,例如:
tmux_conf_theme_status_right='#(echo foo %% bar)'
另请参阅 man 3 strftime。
此配置现在内置了 TPM 支持:
set -g @plugin ... 语法启用插件status-left 或 status-right 中使用的变量时,你可以在 tmux_conf_theme_status_left 和 tmux_conf_theme_status_right 变量中使用它,请参阅上面的说明 👆set -g @plugin 'tmux-plugins/tpm'run '~/.tmux/plugins/tpm/tpm'⚠️ TPM 绑定与上游略有不同:
<prefix> + I<prefix> + Alt + u<prefix> + u请参阅示例 .local 自定义文件以获取说明。
我不再推荐在 Cygwin 下运行此配置。Cygwin 下的分叉速度极慢,而此配置在后台执行了大量 run-shell 命令。因此,你将遇到高 CPU 使用率。作为替代方案,请考虑使用 WSL 的 Mintty 终端。

在 Mintty 中的 Cygwin 下使用此配置是可能的,但对 Unicode 符号和表情符号的支持落后于 Mac 和 Linux。
特别是,Mintty 的文本渲染是通过 GDI 实现的,这有一些限制:
要正确显示 Unicode 符号,你必须使用字体链接。
打开 regedit.exe,然后导航到注册表键 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink,
为你喜欢的字体添加一个新条目,将其链接到 Segoe UI Symbol 字体。



AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法 大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写 和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon, 您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。
最新AI工具、AI资讯
独家AI资源、AI项目落地

微信扫一扫关注公众号