Adr*_*uio 44 zsh git prompt tmux oh-my-zsh
我已经使用oh-my-zsh自定义了我的 ZSH 提示,以使其更具可读性,并在我在存储库中时添加有关 git 的信息。
示例:(
bob@inf [~/docs] %
bob@inf [~/src/nicest] master %在 git 存储库中)
它运行良好,但我有一些错误tmux和窗口名称。它仍然显示无意义值,我无法禁用它automatic-rename off(它不起作用,每个命令后窗口名称都会更改),对于第一个示例 tmux~/docs用于窗口名称。
我不确定如何修复它,我想保持我的 zsh 提示不变,如果可以进行更改但想了解问题出在哪里?
另一种解决方案可能是重新定义命令settile(来自这个答案),但我不确定如何以正确的方式做到这一点。
Chr*_*sen 79
我看了一眼 oh-my-zsh 并发现了一个可能的嫌疑人。
当 TERM 环境变量的值以screen(它应该在screen和tmux 下)开头时,它使用屏幕终端控制序列将窗口的名称设置为
..后跟最后 13 个字符或整个路径,如果少于 15 个字符)和ssh,sudo和其他一些)。听起来它对您来说是这样工作的(您说您的窗口名称更改为~/docs您在该目录中时的名称)。如果要禁用此自动重命名,可以通过true在您的 DISABLE_AUTO_TITLE shell 参数中设置 DISABLE_AUTO_TITLE 来完全禁用它.zshrc:
DISABLE_AUTO_TITLE=true
Run Code Online (Sandbox Code Playgroud)
如果你只是在交互式 shell 中设置它,你最终会得到一个空字符串作为当前窗口的名称,但是 oh-my-zsh 将在该 shell 实例中的每个提示和命令之前停止更新窗口(它需要在您.zshrc将影响所有新的 shell 实例)。
小智 31
我知道上面的答案为您提供了一个解决方案,但另一个是简单地将此选项添加到您的 ~/.tmux.conf
set-option -g allow-rename off
Run Code Online (Sandbox Code Playgroud)
小智 6
我遇到了同样的问题,即使在 .tmux.conf 中设置,tmux 的窗口名称也已更改:
set-window-option -g automatic-rename off
Run Code Online (Sandbox Code Playgroud)
谢谢克里斯的回答。更改后,我的 tmux 窗口名称未自动重命名:
set -g default-terminal "screen-256color"
Run Code Online (Sandbox Code Playgroud)
到:
set -g default-terminal "xterm-256color"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18600 次 |
| 最近记录: |