전력선 섹션을 사용자 정의하는 방법(특히 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

테마 구성 파일 중 하나를 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영향을 미칩니다 . shellpowerline.segments.common.env.cwd

보다 구체적인 위치에서 재정의되지 않는 한 호출은 powerline.segments.shell.cwd여전히 ​​기본 매개변수를 존중합니다 .powerline.segments.common.env.cwd

관련 정보