ZSH prompt 수정
개발환경 설정 - zsh
Prompt expansion
prompt 형식(format)은 PROMPT
라는 환경변수에 의해 결정된다.
$ echo $PROMPT
%n@%m %1~ %#
이 출력되었다. PROMPT
는 prompt expansion 방식으로 지정된 양식을 출력한다. 여기서 expansion은 문자의 의미를 확장함을 의미한다. %
가 escapte character로 사용된다.
%K
- 텍스트 색 지정(different color mode on) =>%K{blue}
%F
-%K
와 비슷하다. 색을 지정할 수 있다. {} 안에 숫자를 입력할 수 있다.%f
- different color mode off%n
- username 출력%m
- hostname의 첫 번째 ‘.’ 앞까지의 문자열%B
- boldface mode 시작%
- prompt symbol 출력- 나머지
example
~/.vimrc
export PROMPT="%(?..%F{red}%?)%f %B%1~%f%b %B$ "
?
- 이전 명령이 성공했으면 True(0이면 성공, 나머지는 실패).
- 조건문을 구성
결과
github branch 정보 출력
Hooks
Hooks란 shell에서 특정 이벤트가 발생했을 때 자동으로 실행되는 함수 목록(배열)이다. chpwd
, precmd
, preexc
, 그리고zshaddhistory
가 자주사용되는 hooks이다.
precmd
- prompt가 출력되기 전에 실행된다. 주로 $PROMPT의 값을 설정하기 위해 사용한다.
preexc
- command prompt에서 enter 키를 누른 뒤, 명령어가 실행되기 전에 실행된다.
~/.vimrc
- VCS(Version Control System) 정보 가져오기
autoload -Uz vcs_info precmd() { vcs_info } zstyle ':vcs_info:git:*' formats 'on %b'
Comments