Zsh: vared -p 명령으로 색상 변경

Zsh: vared -p 명령으로 색상 변경

나는 시도했다:

vared -p '"$(print \"\e[1;31test\")" something' -c tmp

출력 에코"$(print \"\e[1;31test\")" something

test하지만 여기서는 단어의 색상을 바꾸고 싶습니다 . 달성하는 방법?

답변1

빠르게 확장되는 주장을 이해 -p하면 다음과 같습니다.

var=; vared -p '%B%F{red}something%f: ' var
  • %B:( 굵은 글씨는 bold그만 %b)
  • %F{red}: 빨간색 전경( %K배경용).
  • %f:기본 전경색을 복원합니다.

행위:

vared -p $'\e[1;31msomething: ' var

이는 프롬프트의 너비가 실제로 11열일 때( 보이지 않기 때문에) 너비가 18열이라고 생각하게 하여 커서 위치를 vared -p "$(printf '\e[1;31msomething: ')"속이기 때문에 나쁜 생각과 동일합니다(질문의 버전에서 수정됨) . .zle\e[1;31m

답변2

-p이는 zsh에서 모듈을 로드한 후 큰따옴표를 사용하여 달성할 수 있습니다 .colors

관련 정보