如何自定义一段电力线(特别是对于 Bash shell $PS1 布局)?

如何自定义一段电力线(特别是对于 Bash shell $PS1 布局)?

根据纪录片,powerline用于~/.config/powerline/config.json配置。由于我不太喜欢$PS1默认的布局,因此我对关键字进行了一些更改,cwd如下所示。然而,定制并没有被应用。我做错什么了吗?一般来说,如何自定义一个段powerline

{
    "powerline":{
        "segments":{
            "shell":{
                "cwd":{
                    "dir_shorten_len": 4,
                    "dir_limit_depth": 3
                }
            }
        }
    }
}

答案1

您需要修改config-directory/themes/(大概~/.config/powerline/themes/在您的系统上)中的主题配置文件之一

一种方法是将这样的东西放入config-directory/themes/shell/__main__.json

{
    "segment_data": {
        "cwd": {
            "args": {
                "dir_shorten_len": 4,
                "dir_limit_depth": 3
            }
        }
    }
}

cwd当从扩展调用时,这会设置函数的默认参数shell,但您仍然可以使用主题配置文件中的不同参数进行覆盖。

例如config-directory/themes/shell/default.json

{
    "segments": {
        "left": [
            ...other-segments...
            {
                "function": "powerline.segments.shell.cwd",
                "priority": 10,
                "args": {
                    "dir_shorten_len": 1,
                    "dir_limit_depth": 5
                }
            }
        ],
        "right": [
            ...right-segments...
        ]
    }
}

另外,除此之外powerline.segments.shell.cwd,还有更一般的powerline.segments.common.env.cwd。对于该函数,您可以将默认参数放入config-directory/themes/powerline.json,这不仅会影响shell扩展,还会影响使用 的任何其他扩展powerline.segments.common.env.cwd

请注意,调用powerline.segments.shell.cwd仍然遵循powerline.segments.common.env.cwd默认参数,除非在更具体的地方被覆盖。

相关内容