23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
맥북 처음 받으면 제일 먼저하는 세팅이죠? 바로 zsh 테마(theme) 설정입니다.
정확히는 "zsh" + "oh my zsh" 이긴 하지만 대충 zsh라고 하죠 ㅎㅎ어쨋든 카탈리나 이후부터는 기본 shell이 zsh로 설정되서 세팅할게 줄긴했지만 문제가 있습니다
터미널이라는게 사실 이쁘게 꾸미는게 매우 귀찮기도 하고,
회사PC의 경우엔 기존 PC를 반납하고 신규 PC를 받아야되는 경우가 있기 때문에 보통 설정파일인 ~/.zshrc 파일을 어디에 백업해놔야하는 경우가 있는데요
하지만 ~/.zshrc 파일만 백업했다고 완벽하게 이전 테마처럼 세팅할 순 없습니다
왜냐하면 터미널에서 쓸 한글 폰트도 설치해야되고테마도 다시 다운로드도 해야되고해당 테마에서 스크립트 수정한 경우엔 그 코드도 찾아야되거든요
보통 newline 추가하려고 아래와 같은 스크립트를 테마에 넣으시는 경우가 많죠
prompt_end() {
if [[ -n $CURRENT_BG ]]; then
print -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR"
else
print -n "%{%k%}"
fi
print -n "%{%f%}"
CURRENT_BG=''
#Adds the new line and ➜ as the start character.
printf "\n ➜";
}이런 스크립트 하나 넣으면 아래처럼 newline이 추가되서 보기도 그렇고 사용할때도 좀 더 편해집니다
어쨋든 이렇게 하나하나 세팅을 다 해놨더니갑자기 PC를 포맷해야되거나 초기화를 해야되는 상황이 온다면 매우 난감합니다
왜냐하면 겨우 테마 세팅하는걸 문서화까지 하는 경우는 잘 없으니깐요
그래서 보통 포맷해야되는 상황이 온다면 모두 난감해하지만이제 소개시켜 드릴 오픈소스라면 걱정은 없습니다!
바로 "Powerlevel10k" 입니다
https://github.com/romkatv/powerlevel10k
터미널 구성을 마법사 형태로 구성할 수 있게 도와주는 오픈소스입니다
설치도 매우 간단한데 저는 주로 manual하게 설치하는 편입니다
별다른 의미는 없고 저는 mac뿐 아니라 linux(ubuntu)에서도 zsh를 쓰다보니 그냥 통일해서 쓰는게 좋더라구요
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc보시는것처럼 설치도 쉽고 놓칠 수 있는 부분도 마법사를 통해서 알려주다보니 편합니다
그럼 실제로 어떻게 설정하는지도 볼까요?
source ~/.zshrc를 실행하면 p10k(=powerlevel10k) configure가 실행됩니다
위처럼 기본적으로 Apple에서 제공해주는 기본 폰트인 Menlo를 커스텀한 버전인 Meslo를 추천해줍니다
둘 다 mono폰트(고정폭)이라서 코딩할때 편하지만 Meslo의 특징은줄 간격이 3가지로 제공되고 Nerd Fornt는 다양한 glyphs한 아이콘도 제공된다는거죠
glyphs한 아이콘이란건 아래 예시를 보시면 좋을것 같네요
어쨋든 특별한 취향이 있는게 아니라면 기본으로 추천해주는 Meslo Nerd Font를 추천드립니다(+ 처음 설치하신다면 터미널을 한번 재시작해야 합니다)
터미널 세팅할때 놓치는부분이죠. 바로 UTF-8 텍스트입니다
이미지 내 참고자료: https://graphemica.com/%E2%97%86
옛날엔 ascii만 써도 충분했지만 요즘 오픈소스들은 거의 최소 UTF-8를 쓰고 있기 때문에 사용하는 폰트가 해당 텍스트를 지원하고 있는지 확인하는 겁니다
만약 현재 터미널 설정이 해당 텍스트를 지원하지 않는다면 안보일테고 그러면 p10k가 알아서 보일만한 문자로 대체해주겠죠?
저는 Meslo를 써서 그런지 잘보이네요
PUA(Private Use Area)에 해당하는 글자가 보이는지 확인합니다.
PUA는 이름 그대로 사용자 정의 영역이고 UTF-8, UTF-16에서 사용자 개인이 직접 특수문자를 정의해서 쓸 수 있는 구간입니다.(U+E000 ~ U+F8FF, U+F0000 ~ U+10FFFF)
하지만 보통 glyphs한 아이콘을 해당 영역에서 많이 다룹니다
그래서 fontawesome 의 폰트를 사용한다면 보일것이고 아니라면 2번처럼 적절한걸로 대체되겠죠?
마지막 인코딩인 UTF-16 체크입니다
glyphs한 아이콘은 위에처럼 거의 공백이 없기 떄문에 겹치는것처럼 느낄 수 있는데요취향에 따라서 적절하게 답하면 될거 같습니다
저는 화려하게 쓰는걸 좋아해서 3번으로 선택했는데 이 또한 취향 껏 고르시면 될거 같습니다
나중에 바꿀 수 있으니깐 첫눈에 딱 끌리는걸로 골라가시면 될거 같네요
이건 말 안해도 되겠죠...?1번 안하시면 이제 한글로된 폴더나 파일명이 다 xxXX 이런식으로 깨져서 보일겁니다...한국인이라면 무조건 1번을!!!
이거 해서 뭐가 좋냐고 하시는분들도 계시는 데스크립트 같은거 실행할때 얼마나 걸리는지 요걸로 대충 계산해볼 수 있습니다
특히 shell, ansible, terraform 같은거 쓰신다면 도움이 되겠죠?? 스크립트 실행했을 때 얼마나 걸렸는지 확인할 필요가 줄어듭니다 ㅎ
대신 1,2번 골랐을때 딱 하나 단점이 있는데요.시간이 눈에 보여서 그런지 시간이 잘 안갑니다
중요한건 아니지만 취향이 가장 많이 갈리는 파트인데요내용이 길어서 그냥 스크린샷으로 대체합니다
zsh를 쓰시는 목적은 대부분 plugin 일텐데요
plugin이 많아지거나 유독 로딩이 오래 걸리는게 있다면 prompt를 새로 띄울 때마다 엄청 오래 걸립니다
그런 랙(lag)을 방지해주는 모드가 바로 Instant Prompt Mode입니다
물론 이 모드가 모든 plugin 랙을 완전 최적화를 해주는건 아니지만
그냥 적용만해도 많이 빨라지더라구요 개인적으로는 추천드립니다 ㅎ
그냥 source ~/.zshrc 대신 해주는겁니다
저는 아래와 같은 취향으로 결정났습니다 ㅎㅎ
글로 주절주절 써놨지만보시는것처럼 1분만에 대부분의 상황에 고려가 필요한 내용을 마법사 형태로 제공해 줍니다.
특히 인코딩 문제라든가 프롬프트 스타일 같이 매번 찾으면서 삽질해야되는걸 자동으로 정해주고
알아서 이전 설정파일을 백업까지 해주는 기능이 있는 p10k 소개였습니다
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.