#zsh PROMPT의 마음에 들지 않는 곳만 고쳐/시계 대신

zsh의 프롬프트를 편집하려고 했는데, zshenv 에도 zshrc 에도 PROMPT의 정의를 찾을 수 없고, 언제부터 재정의하면 좋았던 곳까지 사라졌다. 좋은 곳을 잡고 싶을 때 어떻게해야합니까? 라고 하는 기사입니다.

현재 PROMPT 값을 가져옵니다.



쉘에서$ echo $PROMPT 그러면 현재 PROMPT의 값이 반환되므로 이것을 복사합니다.

echo.sh
$ > echo $PROMPT
${SSH_TTY:+"%F{9}%n%f%F{7}@%f%F{3}%m%f "}%F{5}${_prompt_sorin_pwd}%(!. %B%F{1}#%f%b.)${editor_info[keymap]}

다음으로 $ vi ~/.zshenv 로서 다음과 같은 행을 추기한다.

zshenv.sh
PROMPT='${SSH_TTY:+"%F{9}%n%f%F{7}@%f%F{3}%m%f "}%F{5}${_prompt_sorin_pwd}%(!. %B%F{1}#%f%b.)${editor_info[keymap]} '

이것으로 재현은 완료. (''로 묶는 것과 끝의 공백을 잊지 않도록)

현재 시간을 프롬프트에 표시하고 1초마다 업데이트



이것을 아래의 3행과 같이 변경하면, 프롬프트가 항상 최신의 시각을 표시하게 된다.

zshenv.sh
PROMPT='%F{6}%D %*%f ${SSH_TTY:+"%F{9}%n%f%F{7}@%f%F{3}%m%f "}%F{5}${_prompt_sorin_pwd}%(!. %B%F{1}#%f%b.)${editor_info[keymap]} '
TMOUT=1
TRAPALRM() { zle reset-prompt }



응~. 편리!
  • 프롬프트는 항상 현재 시간을 포함합니다
  • 시간은 개행 시점에서 확정하므로 언제 그 명령을 친지 나중에 거슬러 올라간다
  • 작업에 몰두하여 예정이나 약속에 늦어지는 것을 방지할 수 있다고 생각한다
  • 좋은 웹페이지 즐겨찾기