我想在tmux和vim中使用powerline扩展。在vim中它工作得很好,显示所有段以及powerline-gitstatus(用于显示比common.vcs.branch段更多的git信息),但在tmux状态栏中,无法在左侧显示段在.config/powerline/themes/tmux/default.json
主题中配置的一面。我的主题:
{
"segments": {
"left": [
{
"function": "powerline.segments.common.env.cwd"
},
{
"function": "powerline_gitstatus.gitstatus",
"priority": 40
},
{
"function": "powerline.segments.common.vcs.branch"
}
],
"right": [
{
"function": "powerline.segments.common.net.network_load"
},
{
"function": "powerline.segments.common.sys.uptime",
"priority": 50,
"before": "UP: "
},
{
"function": "powerlinemem.mem_usage.mem_usage_percent",
"priority": 50,
"args": {
"format": "Mem: %d%%"
}
},
{
"function": "powerline.segments.common.sys.cpu_load_percent",
"priority": 50,
"before": "CPU: "
},
{
"function": "powerline.segments.common.net.external_ip"
}
]
}
}
和powerline tmux left
的输出(符号显示正确):
#[fg=colour250,bg=colour240,nobold,noitalics,nounderscore] ~
#[fg=colour245,bg=colour240,nobold,noitalics,nounderscore]
#[fg=colour250,bg=colour240,nobold,noitalics,nounderscore]Documents
#[fg=colour245,bg=colour240,nobold,noitalics,nounderscore]
#[fg=colour252,bg=colour240,bold,noitalics,nounderscore]gitTest
#[fg=colour240,bg=colour236,nobold,noitalics,nounderscore]
#[fg=colour247,bg=colour236,nobold,noitalics,nounderscore] No commits yet on master
#[fg=colour214,bg=colour236,nobold,noitalics,nounderscore] … 2
#[fg=colour247,bg=colour236,nobold,noitalics,nounderscore]
#[fg=colour250,bg=colour236,nobold,noitalics,nounderscore] master
#[fg=colour236,bg=default,nobold,noitalics,nounderscore]
如您所见,左侧是为段配置的:当前工作目录,gitstatus和分支。问题是虽然看起来powerline tmux left
的输出是正确的,但它没有正确显示。状态栏的右侧工作正常。
有没有人曾经解决过这个问题?有关如何解决它的任何想法?
投入赞赏。
你必须为status-left-length
设置一个更高的值。我可以清楚地看到cwd
片段被削减了。据我所知,默认的20个字符。
在set -g status-left-length 20
中设置~/.tmux.conf
看起来像你的情况
如果将其设置为更高的值
如果您将其设置为更合理的值(如150),您将获得所需:
不过要小心。左侧或右侧的选定值将相互重叠并删除元素。或者不会在您的示例中显示。
我现在很高兴使用
set -g status-left-length 150
set -g status-right-length 180
这取决于您的屏幕或窗口大小。
此外,恕我直言,所有动态片段(大小)应保持在右侧,只有静态片段应显示在左侧,以便在打开的选项卡上有更清晰的视图。但这只是一种意见。