電力線セクションをカスタマイズする方法(特にBashシェル$ PS1レイアウトの場合)は何ですか?

電力線セクションをカスタマイズする方法(特にBashシェル$ PS1レイアウトの場合)は何ですか?

ドキュメンタリーによると、構成のためpowerline~/.config/powerline/config.json。デフォルトのレイアウトがあまり気に入らず、以下のように$PS1キーワードを一部変更しました。cwdただし、カスタマイジングは適用されません。私は何が間違っていましたか?通常、セグメントをどのようにカスタマイズしますかpowerline

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

ベストアンサー1

テーマ構成ファイルの1つをconfig-directory/themes/(おそらくシステム上で)変更する必要があります。~/.config/powerline/themes/

1つの方法は、次のようなものを置くことです。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影響します。 shellpowerline.segments.common.env.cwd

より具体的な場所でオーバーライドされない限り、呼び出しは依然としてpowerline.segments.shell.cwdデフォルトパラメータを尊重します。powerline.segments.common.env.cwd

おすすめ記事