리눅스

zsh 현재 디렉토리명만 보이기 / 일정 글자이하의 경로만 보이기 / 전체 경로 보이기.

꿈꾸는 사람_Anthony 2021. 8. 11. 16:45
반응형

순서

  1. 테마 적용
  2. echo $PS1 -> 결과 복사
  3. vi /.zshrc
    원하는 위치에 다음 내용 넣기
    export PS1="{2번에서 복사한 내용 | '%~' 혹은 '%c' 찾아서 아래 기호에서 부합한 것 치환.}"​

    ps.. | 는 pipe이다.. linex의 pipe.. 즉 2번에서 복사한 내용을 수정하겠다는 뜻이다.

 

경로 기호

  1. ${_current_dir} : 일정 글자 이하의 경로만 보이게함.(추측)
  2. %c : 현재 작업 경로(마지막 경로)만 표시
  3. %~ : 전제 경로

이를 alias로 정해서 필요에 따라 바꾸어주어도 된다.

필자의 경우 아래와 같이 설정하여 기본설정으로 경로 기호 1번에 사용자 이름만 보이도록(컴퓨터이름 안보이게) 설정해두었고(%n@%m부분에서%m을 제거하면 된다)

abpath는 absolutepath의 약어로써 3번 경로 기호로 전체 경로를,

rlpath는 relativepath의 약어로써 2번 경로 기호로 현 작업경로만 표시하도록 해두었다.

    #for bira
    #backup for bira
    #╭─%{$terminfo[bold]$fg[green]%}%n@%m %{$reset_color%}%{$terminfo[bold]$fg[blue]%}%~ %{$reset_color%}$(ruby_prompt_info)$(git_prompt_info)$(virtualenv_prompt_info)
    #╰─%B$%b
    export PS1="╭─%{$terminfo[bold]$fg[green]%}%n %{$reset_color%}%{$terminfo[bold]$fg[blue]%}${_current_dir} %{$reset_color%}$(ruby_prompt_info)$(git_prompt_info)$(virtualenv_prompt_info)
    ╰─%B$%b "
    alias abpath='export PS1="╭─%{$terminfo[bold]$fg[green]%}%n %{$reset_color%}%{$terminfo[bold]$fg[blue]%}%~ %{$reset_color%}$(ruby_prompt_info)$(git_prompt_info)$(virtualenv_prompt_info)
    ╰─%B$%b "'
    alias rlpath='export PS1="╭─%{$terminfo[bold]$fg[green]%}%n %{$reset_color%}%{$terminfo[bold]$fg[blue]%}${_current_dir} %{$reset_color%}$(ruby_prompt_info)$(git_prompt_info)$(virtualenv_prompt_info)
    ╰─%B$%b "'

 

하지만, git등을 사용할 때는 위 방법을 이용하면 안된다.

이유는 잘 모르겠지만, branch가 잘 표시가 안되는 문제가 발생한다.

~/.oh-my-zsh/themes/의 파일들을 직접 수정해주자.

반드시 백업을 진행하고 한다.

 

여기서 %s, %c는 동일하게 사용할 수 있다.

하지만, _curr_dir을 사용하기 위해서는 파일이 이 줄을 추가해주어야한다.

typeset +H _current_dir="%{$fg_bold[blue]%}%3~%{$reset_color%} "

이 문장을 추가하고, dir을 구성하는 곳 등에 사용하도록하자.

예를들어, 필자는 bira를 사용하고 있고 이 테마의 설정파일을 다음과 같이 설정해주었다.

그리고 alias는 주석처리해주자. 쓰다가 branch헷갈리면 오우.. 상상도 하기 싫다..

반응형