根据纪录片,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
默认参数,除非在更具体的地方被覆盖。