[vim] Vim 세션이 현재 사용하는 색상 표를 확인하는 방법

다음 을 발행하여 Vim 색 구성표를 설정할 수 있습니다.

:colorscheme SCHEME_NAME

그러나 이상하게도 현재 사용되는 체계는 다음을 발행하여 얻을 수 없습니다.

:colorscheme

결과는 ” E471: Argument required“입니다. 또한의 출력에 나열된 색 구성표를 볼 수 없습니다 :set.

그렇다면 현재 사용중인 색 구성표를 알아내는 방법은 무엇입니까 (사용자가 인식 할 때까지 수동으로 테마를 전환하는 것 제외)?



답변

보장 된 방법은 없습니다 (색 구성표는 본질적으로 소스가 제공되는 vim 명령의로드이므로). 그러나 규칙 g:colors_name에 따라 색 구성표의 이름으로 설정된 변수가 있어야합니다 .

따라서 다음을 시도하십시오.

echo g:colors_name

E121을 받으면 잘못 만들어진 색 구성표이거나 기본 색 구성표입니다.

이를 수행하는 더 빛나는 방법은 (최신 버전의 vim) :

function! ShowColourSchemeName()
    try
        echo g:colors_name
    catch /^Vim:E121/
        echo "default
    endtry
endfunction

다음을 수행하십시오.

:call ShowColourSchemeName()

“기본값”이라고 :colorscheme default표시되면 색상이 변경되는지 확인하십시오. 만약 그렇다면, 당신은 잘못된 색 구성표를 사용하고 있으며 당신이 그것을 알아볼 때까지 수동으로 테마를 전환하는 것 외에는 할 수있는 일이 많지 않습니다.

변수 g:colors_name여기 에 설명되어 있습니다 .

:help colorscheme


답변

가장 좋은 옵션은 :colo또는 :colorscheme현재 vim에서 사용 하는 것이며 실제 색상 표 텍스트가 표시됩니다. 봐주세요

:help colorscheme

상세 사항은.


답변

DrAl의 답변의 한 줄 버전 :

let current_scheme = get(g:, 'colors_name', 'default')

get()기능은 'default'변수가 아직 설정되지 않은 경우로 돌아갑니다 .


답변