오늘 iTerm2 꾸미기를 하면서 막혔던 부분에 대해 정리해 보려 한다.
문제사항
- .zshrc에 이모지 관련 라인 추가 시 아래의 에러 발생
- 왼쪽 이미지와 같이 이모지 관련 라인을 추가하고 저장/업데이트를 하면
오른쪽 이미지와 같이 에러가 발생
prompt_context:4: command not found: prompt_segment
사전 진행 사항
1. iTerm2 설치
2. oh my zsh 설치
3. 테마 적용 (powerlevel10k)
문제원인
참고링크 : https://github.com/Powerlevel9k/powerlevel9k/issues/423
powerlevel10k 테마 자체가 기본적으로 터미널의 hostname을 숨기기 때문에
위와 같은 문제가 발생하는 것으로 보인다. 그래서 아래와 같이 작성하거나
prompt_context() {}
해당 코드를 삭제해야만 한다.
하지만, 나는 prompt_context() {} 라인을 추가해서 이모지 커스텀을 해야하기 때문에 테마를 변경해 보기로 했다.
해결
테마 변경 (powerlevel10k → agnoster)
* powerlevel10k와 agnoster 테마의 장단점, 차이점 등을 아직은 몰라서 이게 좋은 해결방안 일지는 모르겠다ㅠㅠ
위 이미지에서도 보이듯, agnoster 테마로 변경하니 뭔가 변화가 생겼고 에러가 뜨지 않았다.
왼쪽 이미지와 같이 다시 코드를 추가하고 적용하니 해결!!
기타
터미널 커스텀 관련 코드들
- 아래의 모든 코드는 .zshrc에 삽입하였음
open ~/ .zshrc
1. 컴퓨터 이름 지우기
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
2. 유저명 변경
prompt_context() {
prompt_segment black default "하고싶은이름"
}
ex.
prompt_context() {
prompt_segment black default jin
}
3. 이모지 추가
prompt_context() {
# Custom (Random emoji)
emojis=("⚡️" "🔥" "🇰 " "👑" "😎" "🐸" "🐵" "🦄" "🌈" "🍻" "🚀" "💡" "🎉" "🔑" "🚦" "🌙")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "{하고싶은이름} ${emojis[$RAND_EMOJI_N]} "
}
ex.
prompt_context() {
# Custom (Random emoji)
emojis=("⚡️" "🔥" "🇰 " "👑" "😎" "🐸" "🐵" "🦄" "🌈" "🍻" "🚀" "💡" "🎉" "🔑" "🚦" "🌙")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "jin ${emojis[$RAND_EMOJI_N]} "
}
참고링크 : https://clolee.tistory.com/52
댓글