프롬프트를 사용자 정의하고 터미널을 즐겁게 사용합시다 💻
최근, 조금 기분을 바꾸고 싶어 터미널의 프롬프트를 갱신했으므로, 그 때 했던 것을 작은 재료로서 정리합니다.
나의 현재의 터미널은 이런 느낌이 되고 있습니다.
지금 이 프롬프트를 사용하고 있으며,
$
가 되는 부분이 스타일리쉬 어떤 곳이 마음에 든다.
각각에 대해, 어떻게 설정 파일을 작성하는지 해설해 갑니다.
사용 중인 쉘은
zsh
입니다.또, 이번 해설하는 스크립트는 모두 dotfiles/.zshrc at master · guri3/dotfiles 에 있습니다.
첫째, 두 줄 프롬프트에 대해입니다.
.zshrc
PROMPT='$(emoji) %~ ${vcs_info_msg_0_}
%{%F{202}%}❯%{%f%}%{%F{221}%}❯%{%f%}%{%F{027}%}❯%{%f%} '
프롬프트의 정의는 다음과 같습니다.
실은, 프롬프트의 도중에 개행하면 간단하게 2행 프롬프트로 할 수 있습니다.
또, 출력 후의 개행에 대해서는,
add_line
라고 하는 함수를 정의해, precmd
로 호출하는 것으로 실현하고 있습니다..zshrc
function add_line {
if [[ -z $PS1_NEWLINE_LOGIN ]]; then
PS1_NEWLINE_LOGIN=true
else
printf '\n'
fi
}
precmd() { add_line }
add_line
함수 안에서는, PS1_NEWLINE_LOGIN
환경 변수에 내용이 존재하지 않으면 PS_NEW_LINE_LOGIN
환경 변수에 true를 대입해, 그렇지 않으면 개행 코드를 출력하고 있습니다. precmd
로 호출하면 프롬프트를 표시하기 직전에 매번 실행되므로 출력 뒤에 줄 바꿈을 잘 끼울 수 있습니다. (그구하면 이 쓰는 방법이 많이 나오므로, 관습 같은 것일지도?)다음에,
$
부분의 변경에 대해입니다.실제 코드에서는 프롬프트의 두 번째 줄 부분입니다.
.zshrc
%{%F{202}%}❯%{%f%}%{%F{221}%}❯%{%f%}%{%F{027}%}❯%{%f%} '
포인트는
%F{}
와 %f
로, %F{}
로 색을 지정해 %f
로 색을 리셋 합니다.이 때 지정하는 색은, dotfiles/colcheck.sh at master · guri3/dotfiles 등을 사용해 조사할 수가 있습니다. (이 스크립트 픽업이어야하지만 출처를 몰랐습니다 ... 죄송합니다)
또, 모든 것을
%{%}
로 둘러싸고 있는 것은, 이렇게 하지 않으면 왠지 프롬프트가 어긋나 버리는 현상이 일어나기 때문입니다. 똑똑한 해결책을 알고 있으면 알려주세요.마지막으로, 이모티콘 부분에 대해입니다.
이것도 함수를 구현하고 호출합니다.
.zshrc
function emoji {
if [[ $? != 0 ]]; then
echo -n '\U1F914'
elif [[ $(pwd) = $HOME ]]; then
echo -n '\U1F3E0'
elif [[ $(pwd) =~ "$HOME/projects" ]]; then
echo -n '\U1F4BB'
elif [[ $(pwd) =~ "$HOME/dotfiles" ]]; then
echo -n '\U1F527'
else
echo -n '\U1F4C2'
fi
}
프롬프트의 첫 번째 줄 부분에서 호출합니다.
PROMPT='$(emoji) %~ ${vcs_info_msg_0_}
나는 현재 디렉토리의 상황에 따라
각각에 이모티콘을 등록하고,
뭔가 잘못된 명령을 입력했을 때 🤔가 표시됩니다.
이번 소개하는 것은 이상이 됩니다.
꼭 항상 사용하는 터미널 환경을 자신의 취향에 커스터마이즈 해 보는 것은 어떻습니까?
Reference
이 문제에 관하여(프롬프트를 사용자 정의하고 터미널을 즐겁게 사용합시다 💻), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/guri3/items/dd6dc6168fc4c984c4ae텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)