반응형
터미널로 작업을 할 때 내가 작업하는 폴더나, 브랜치명이 표시 되어있으면 편하지 않나요?
그리고 $이 너무 오른쪽에 있으면 긴 명령어를 입력할 때 보기 불편하죠.
그래서 전 터미널의 표시 부분을 커스터마이즈 합니다.
.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 |
---|