Shell

robbyrussell 테마의 PS1 수정

hun.a 2022. 7. 6. 00:05
반응형

before and after!

PS1 이란?

PS1 is the primary prompt which is displayed before each command, thus it is the one most people customize.

해석해보면 대충 아래와 같다.
PS1은 각 명령어 앞에 표시되는 기본 프롬프트이고, 사람들이 대부분 사용자 정의하는 것이다.

그럼 나도 customize를 해보자. 🛠

참고로, zsh에서 PS1PROMPT와 동일하다.

robbyrussell

robbyrusselloh-my-zsh를 설치하면 기본적으로 설정되어 있는 테마이다.
개인적으로 깔끔해서 애용하지만 좀 더 개인적인 취향을 위해 살짝만 바꿔볼 예정이다.

프롬프트에 $ 추가

리눅스 계열에서 보통 프롬프트는 $ 표시로 끝이 난다. (토막 상식: 슈퍼 유저는 보통 #로...)
그런데 robbyrussell발칙하게도 $ 표시가 없다. 🤬

아래 이미지와 같이 수정을 해보자.

파일 위치: ~/.oh-my-zsh/themes/robbyrussell.zsh-theme

두 번째 줄 맨 마지막에 %{$fg[cyan]%}% $%{${reset_color}%} ' 를 추가했다.
그럼 어떻게 보이는지 확인을 해보자.

➜ 표시 제거

맨 앞에 ➜ 표시가 부자연스럽다. 이번에는 지워버리자.
파일은 동일하다.

첫 번째 라인에서 블록으로 선택된 부분을 다 지운다.

화살표가 날아가니 좀 더 깔끔해서 좀 더 차분해진 기분이 든다. 😌

잘 못 입력된 커맨드 표시

robbyrussell에서는 기본적으로 커맨드를 잘 못 입력했을 때 시뻘건 ➜ 가 맨 앞에 표시되도록 설정되어 있다.
우리는 여기에서 ➜를 ✗로 바꾸기만 할 것이다.

이미지에서 블록으로 선택된 ➜를 ✗로 바꾼다.

그럼 아래와 같이 잘 못 입력된 커맨드의 맨 앞에 시뻘건 ✗ 표시가 출력된다.

그럼 마지막으로...

커맨드 수행시마다 시간을 출력해보자

요건 사실 없어도 되는데 커맨드 입력시마다 우측에 시간을 출력하면 명령어 수행 시간을 알 수 있어서 좋을 것 같다는 생각이 든다.
동일한 파일의 세 번째 라인에 아래와 같이 추가해보자.

세 번째 라인에 RPROMPT='[%*]' 를 추가했다.
PROMPT가 아니라 RPROMPT 인 점에 주의한다.
우측에 표시할 프롬프트를 위미하는 것이다.

시간 출력 포맷은 zsh.sourceforge.io에 자세하게 설명이 되어 있다.

이제 시간까지 모두 표시되게 되었다. 😎

지금까지 수정한 ~/.oh-my-zsh/themes/robbyrussell.zsh-theme 파일의 전문은 아래와 같다.

PROMPT="%(?::%{$fg_bold[red]%}✗)"
PROMPT+=' %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)%{$fg[cyan]%}% $%{${reset_color}%} '
RPROMPT='[%*]'

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

그럼 다음에 다시 만나용~ 🤗
반응형