ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • robbyrussell 테마의 PS1 수정
    Shell 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]%})"

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

    'Shell' 카테고리의 다른 글

    Mac에서 YouCompleteMe 사용하기  (0) 2021.02.04

    댓글

Designed by Tistory.