어제에 이어 터미널 꾸미기를 계속 해보려고 한다.
less ~/.zshrc
를 입력하면 어제 설정해줬던 zsh_theme을 포함한 다른 프로퍼티들을 확인할 수 있는데,
어제 지정했던 agnoster 테마에 강사님처럼 뭔가 더해보고자 한다.
참고로 어젠 약속 때문에 시간이 좀 촉박해서 oh my zsh에 대한 설명이 없었지만.. 터미널 초보도 쉽게 사용할 수있도록 zsh을 편리하게 만들어주는 오픈 소스라고 한다.
curl이난 wget 중 하나를 통해 설치가 가능한데 curl을 통해 설치하는게 기본인거 같다. (wget은 따로 설치가 필요한 것 같다)
chsh -s /bin/zsh
위 명령어로 default shell을 oh my zsh 로 변경할 수 있다고 한다(나는 m1 맥북에어라 필요가 없었음)
테마 추천도 많던데, agnoster는 강사님이 사용하시는거라 따라 해봤는데 powerlevel10k도 추천 되는거 같았다
일단 나는 agnoster를 선택한대로 쭉 가기로 했음
iterm2 색 테마
https://iterm2colorschemes.com/
위 사이트에서 확장명은 .itermcolors로 지정하여 저장해준다.
그 뒤 iterm2의 preference로 설정을 변경해주면 되는데,
1. Profile 2. Default또는 위에서 저장해준 itermcolors 파일을 추가 후 3. Colors 에서 다운 받은 색 테마를 지정 가능
나는 그냥 디폴트 설정을 이용했다.
중요한!! 깨지지 않는 폰트 설정
https://github.com/powerline/fonts
위 사이트에서 깨지지 않는 폰트를 다운 받을 수 있다.
- 폰트를 일단 다운 받고 깃헙의 README 부분의 quick installation의 명령어를 입력해준다.
1. 우선 #clone 부분
git clone https://github.com/powerline/fonts.git --depth=1
2. 그다음 #install
cd fonts
./install.sh
3. 마지막 #clean-up a bit 부분
cd ..
rm -rf fonts
순차적으로 따라한다음
색 테마 정하는 것처럼 preference -> Profile -> 폰트 지정 -> Text탭에서 Font로 폰트를 지정해줄 수 있다
끝!!!
훨씬 보기 좋아졌다.. . . .
- 이제 VSCode측 터미널에서도 깨지는 폰트를 고쳐줘야하는데
VSCode의 setting에 settings.json으로 들어간다
"terminal.integrated.fontFamily": "Source Code Pro for Powerline",
json 안에 해당 코드를 입력해주면 글자 깨짐이 터미널과 동일하게 사라진다!
- iterm2의 profile > session 에서 status bar enable로 터미널 위에 상태표시를 가능하게 해줄 수 있다.
나의 경우 git status와 현재 디렉토리, memory와 cpu 정보를 띄워놨다.
- 그리고 profile > window에서 창 상단에 현재 내 컴퓨터 이름이 나오는 걸 변경할 수도 있다. custom window title을 체크해서 변경해준다.
- 사용자 이름을 숨기고 원하는 닉네임으로 변경해줄 수 있다.
vi ~/.zshrc
으로 zsh 설정을 열고 맨 아래에 해당 함수를 추가해주면 된다
prompt_context() {
emojis=("🦊" "🐱" "🐶" "🐼" "🐯" "🦁")
nickname="원하는 닉네임"
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "${nickname} ${emojis[$RAND_EMOJI_N]} "
}
- 현재 경로가 길어지면 명령어가 줄바꿈이 되어버려 보기 싫으므로 명령어 시작점을 줄바꿈해줄 수 있다
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
해당 코드를 실행해서 build_prompt()를 찾아서 prompt_newline을 prompt_hg 와 prompt_end 사이에 추가해준다.
# File: ~/.oh-my-zsh/themes/agnoster.zsh-theme
...
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline // 줄바꿈하는 함수!
prompt_end
}
코드 최하단으로 prompt_newline 함수를 정의해준다
prompt_newline() {
if [[ -n $CURRENT_BG ]]; then
echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
%{%k%F{blue}%}$SEGMENT_SEPARATOR"
else
echo -n "%{%k%}"
fi
echo -n "%{%f%}"
CURRENT_BG=''
}
추가 syntax-highlighting
그다음 명령어에 하이라이트를 넣어주는 syntax-highlighting을 받아준다
cd ~/.oh-my-zsh/plugins
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
에코 명령어
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
vi ~/.zshrc
plugins=(git ... zsh-syntax-highlighting)
해당 명령어로 설치 및 적용을 해주고
열린 zsh 설정의 아래쪽 plugins=(git) 부분을
plugins=(git zsh-syntax-highlighting)
해주면 가능한 명령어는 초록색으로, 불가능한 명령어는 빨간색으로 나타나게 된다.
사실 터미널이 기본 zsh이라 iterm2를 사용하지 않아도 되지만 커스터마이징을 하고 싶다면 iterm2를 사용해주는 것이다.
즉 iterm은 macOS에서 터미널을 대체할 수 있는 터미널 에뮬레이터인 것이다.
추가 zsh-autosuggestions
명령어 입력할 때 흐린 글씨로 무슨 명령어를 입력할지 추천해주는 플러그인
brew install zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
다 다운되면 동일하게 vi ~/.zshrc 로 이동하여
plugins=(git zsh-syntax-highlighting zsh-autosuggestions)
플러그인쪽에 설치해준 플러그인명을 입력하면 된다.
엔간한건 다 해준 것 같다 :>!!
만족스러운 터미널이 되어 좋다.
참고 https://velog.io/@imysh578/Mac-Terminal-theme-%EA%BE%B8%EB%AF%B8%EA%B8%B0
'학원에서 배운 것 > MacOS 관련 설정' 카테고리의 다른 글
Mac 터미널(iterm2로) 꾸미기 1 (0) | 2023.01.29 |
---|