반응형

터미널로 작업을 할 때 내가 작업하는 폴더나, 브랜치명이 표시 되어있으면 편하지 않나요?
그리고 $이 너무 오른쪽에 있으면 긴 명령어를 입력할 때 보기 불편하죠.
그래서 전 터미널의 표시 부분을 커스터마이즈 합니다.
.bashrc
#path&브랜치표시
function git_ps() {
git branch --no-color 2> /dev/null | sed -e 's/ //g' | sed -e '/^[^*]/d' -e 's/*\(.*\)/\1/'
}
export PS1='\[\033[32m\]\w\[\033[31m\] [$(git_ps)]\[\033[00m\] \n\$ '
현재의 출력내용을 확인하기
$ echo $PS1
표시내용의 의미
| 값 | 의미 |
| \h | 호스트명 (처음의 .까지) |
| \H | 호스트명 |
| \t | 시간(24시간형식) |
| \u | 유저명 |
| \w | 현재 디렉토리(풀path) |
| \W | 현재 디렉토리 |
글자색설정
| 값 | 색 |
| 30 | Black |
| 31 | Red |
| 32 | Green |
| 33 | Yellow |
| 34 | Blue |
| 35 | Magenta |
| 36 | Cyan |
| 37 | White |
| 값 | 의미 |
| \a | ASCII Bell문자(07)를 표시한다(경고음을 울린다) |
| \d | 「요일 월 일」의 형식(예:Fri Jan 5)의 날짜를 표시한다 |
| \e | ASCII의 이스케이프문자(033)를 표시한다 |
| \h | 호스트이름중에 첫「.」까지를 표시한다 |
| \H | 호스트이름을 표시한다 |
| \n | 줄바꿈 |
| \r | 복귀 |
| \s | 쉘이름을 표시한다 |
| \t | 현재의 시각을 24시간의 「HH:MM:SS」형식으로 표시한다 |
| \T | 현재의 시각을12시간의「HH:MM:SS」형식으로 표시한다 |
| \@ | 현재의 시각을12시간의「am/pm」형식으로 표시한다 |
| \u | 현재의 유저명을 표시한다 |
| \v | bash의 버전을 표시한다 |
| \V | bash의 릴리즈를 표시한다 |
| \w | 현재 작업디렉토리를 유저의 HOME디렉토리로부터 절대path로 표시한다 |
| \W | 현재의 작업디렉토리를 표시한다 |
| \! | 이 명령어의 히스토리번호を 표시한다 |
| \# | 이 명령어의 명령번호(현재의 쉘의 섹션중에 실행된 명령의 시퀀스의 위치)를 표시한다 |
| \$ | 실효한 UID가 0인 경우#가 되고, 그 이외의 경우 $가 된다 |
| \nnn | 8진수nnn에 대응하는 문자를 표시한다 |
| \\ | 백슬러쉬를 표시한다 |
| \[ | 비표시문자의 시퀀스를 개시한다. 이것을 사용하여 PROMPT중의 단말의 제어시퀀스를 포함할 수 있다 |
| \] | 비표시문자의 시퀀스를 종료한다 |
.zshrc
# VCS의 정보를 취득하는 zsh함수
autoload -Uz vcs_info
autoload -Uz colors # black red green yellow blue magenta cyan white
colors
# PROMPT변수안에서 변수참조
setopt prompt_subst
zstyle ':vcs_info:git:*' check-for-changes true #formats 설정항목에서 %c,%u 가 사용가능
zstyle ':vcs_info:git:*' stagedstr "%F{green}!" #commit 하지 않은 파일이 있는 경우
zstyle ':vcs_info:git:*' unstagedstr "%F{red}" #add 하지 않은 파일이 있는 경우
zstyle ':vcs_info:*' formats "%F{cyan}%c%u[%b]%f" #보통
zstyle ':vcs_info:*' actionformats '[%b|%a]' #rebase도중, merge 충돌, formats 이외의 표시 등
# glob에서 사용되는 메타문자(*,[],?…)를 허가
setopt nonomatch
# %b 브랜치정보
# %a 액션이름(merge같은..)
# %c changes
# %u uncommit
# PROMPT표시직전에 vcs_info 를 불러냄
precmd () { vcs_info }
# PROMPT(좌)
PROMPT='%{$fg[green]%}[%n@%m](%~)%{$reset_color%}'
PROMPT=$PROMPT'${vcs_info_msg_0_}
%{${fg[green]}%}%}$%{${reset_color}%} '
# PROMPT(우)
RPROMPT=''반응형
'IT 노트 > 리눅스' 카테고리의 다른 글
| [Linux] alias설정해서 작업효율성 높이기 (bash, zsh) (0) | 2021.10.01 |
|---|