나는 설치했다zsh 구문 강조. 한 가지 이상한 점을 제외하고는 잘 작동합니다. 매개변수 확장을 명령 인수로 입력할 때, 즉
foo $PWD
를 입력하자마자 $P
매개변수 확장이 검은색으로 표시됩니다(검은색 배경이 있는 터미널을 사용하기 때문에 보이지 않게 됩니다). 를 입력하면 검정색으로 유지되고 를 $PW
입력하면 표시됩니다(전경색이지만 밑줄이 그어짐) $PWD
. 강조 표시 속성은 "미완성/알 수 없음" 매개변수에 대해 "fg=black"인 것으로 보이지만 알려진 매개변수에 대해서는 줄 바꿈만 되어 있습니다.
색상이 다르게 표시되는 점이 마음에 듭니다. 이렇게 하면 변수 이름의 오타를 조기에 발견할 수 있기 때문입니다. 그러나 검정색은 배경도 검정색이므로 읽을 수 없습니다.
더 흥미롭게도 이는 줄의 첫 번째 단어가 외부 명령(예: foo
내 예)이거나 구문 키워드( if
)인 경우에만 발생합니다. 줄의 첫 번째 단어가 내부 명령(예: echo
), 별칭 호출 또는 함수 호출인 경우에는 발생하지 않습니다.
문서를 검색했지만 "미완성 매개변수 확장" 색상을 정의할 수 있는 위치를 찾지 못했습니다.
저는 다음 하이라이터를 사용하고 있습니다.
ZSH_HIGHLIGHT_HIGHLIGHTERS=(main brackets pattern line)
다양한 하이라이트 카테고리를 설정했지만 단순히 전경을 검정색으로 설정하는 곳은 없습니다.
나는 다음과 같이 나에게 중요한 매우 구체적인 매개변수를 강조 표시합니다.
ZSH_HIGHLIGHT_PATTERNS+=('$(oncoll|onyt|oncp|ong)' 'fg=black,bold,bg=white')
그러나 이 역시 여기에 설명된 문제에 아무런 영향을 미칠 수 없습니다.
어떤 스타일 설정이 여기서 나에게 영향을 미치는지 아는 사람이 있나요?
답변1
main
형광펜 의 모든 기본 스타일을 찾을 수 있습니다여기.
현재 시점에서 텍스트( fg
)가 검정색으로 구성된 유일한 기본 스타일은논평.
foo $PW
그 예가 정확히 왜 주석으로 간주되는지는 모르겠지만 ,선적 서류 비치다음과 같이 설명합니다 comment
.
comment
- 주석,setopt INTERACTIVE_COMMENTS
적용되는 경우(echo # foo
)
comment
- 명령 위치에서 생략된 매개변수( 가 설정되지 않거나 비어 있는$x ls
경우$x
)
두 번째 조건은 설정되지 않은 것처럼 적용되는 것으로 보입니다 $PW
.