Mac M1에서 iTerm2 꾸미기 - 테마 변경, syntax highlighting 적용
이 과정은 먼저 homebrew가 설치되어있어야 한다!
1. zsh 설치하기
zsh, 즉 Z Shell은 Unix 기반 시스템을 위한 강력한 쉘(명령어 인터프리터)이다.
터미널을 통해 컴퓨터와 상호작용하는 데 사용되며, 기본 쉘인 Bash의 확장판으로 볼 수 있다. zsh는 사용자 친화적인 기능, 향상된 스크립팅 기능, 테마 및 플러그인 지원 등 다양한 추가 기능을 제공한다.
// zsh 설치
brew install zsh
// oh-my-zsh 설치
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
2. iTerm2 테마 변경
iTerm2 테마 수동 변경
iTerm2 > Settings (단축키는 command , )
Profiles > Colors에서 수동으로 바꿀 수도 있다. 그러나 이미 Iterm2에서 적용할 수 있는 테마들을 만들어놨다. (아래 링크 있음)
테마 목록
Iterm2 테마는 아래 링크에서 확인할 수 있다.
나는 여기서 OneHalfDark를 선택했다.
해당 링크를 클릭하고 열린 브라우저에서 [우클릭 > 다른 이름으로 저장]을 클릭해서 저장해 준다.
테마 적용
finder로 이동해서 방금 설치한 .txt 파일에서 .txt 확장자를 제거한다.
확장자를 제거하려면 아래와 같은 팝업이 뜨지만 당황하지 말고 [.itermcolors 사용]을 클릭한다.
그리고 다시 Profiles > Colors에서 [Color Presets]를 클릭해서 'import'를 클릭한다. 그리고 나온 finder에서 방금 설치한 테마를 추가해 준다.
추가가 완료되고 해당 테마를 선택해 주면 완료!
아래는 테마가 적용된 모습이다.
3. zshrc 파일 열기 및 변경 사항 적용하는 명령어 알아보기
Zsh의 설정은 주로 ~/.zshrc 파일에서 관리된다. 이 파일은 Z Shell(zsh)의 구성 파일로, 쉘이 시작될 때마다 자동으로 읽히며, 터미널 환경의 다양한 설정을 담고 있다. ~/.zshrc 파일을 vi 명령어를 이용해서 열 수 있다.
vi 명령어
vi 명령어는 텍스트 에디터로, 파일의 내용을 직접 편집할 수 있게 해 준다. 설정을 변경한 후 그 변경사항을 적용하려면, source ~/.zshrc 명령어를 사용하는 것이 일반적이다.
source ~/.zshrc 명령어
source 명령어는 지정된 파일의 내용을 읽어서, 현재 쉘 세션에서 실행한다. 즉, source ~/.zshrc는 ~/.zshrc 파일에 쓰인 모든 명령어와 설정을 현재 실행 중인 쉘에 적용한다. 파일을 수정한 후 터미널을 재시작하면 변경사항이 적용되지만, 이는 시간이 조금 더 걸릴 수 있다. source ~/.zshrc 명령어를 사용하면, 터미널을 재시작하지 않고도 바로 변경사항을 적용할 수 있다. 이는 개발 과정에서 시간을 절약해 주고 즉각적인 피드백을 가능하게 한다.
또한, source 명령어를 사용하면 설정 파일에 문제가 있을 경우 바로 에러 메시지를 볼 수 있다. 이를 통해 문제를 빠르게 파악하고 수정할 수 있다. 그리고 만약 여러 설정 파일이 있을 때, 특정 설정 파일만을 다시 로드하고 싶을 때 유용하다. 예를 들어, 복잡한 환경 설정을 가진 개발자는 특정 부분의 설정만을 바꾸고 즉시 적용할 수 있다.
~/.zshrc 파일은 단순히 터미널 환경 설정을 담고 있는 것이 아니라, 사용자의 터미널 사용 스타일을 맞춤화하고, 작업 효율을 높이는 중요한 역할을 한다. source ~/.zshrc 명령어는 zsh 설정을 효과적으로 관리하고, 변경사항을 빠르게 적용할 수 있는 중요한 도구다. 따라서 zsh 설정을 변경한 후에는 이 명령어를 사용하는 것이 좋다.
source $ZSH/oh-my-zsh.sh 명령어
종종 source $ZSH/oh-my-zsh.sh 라는 명령어를 사용하는 사람들도 있다. 이 명령어는 특히 Oh My Zsh 사용자에게 유용하다. Oh My Zsh는 zsh에 추가적인 기능을 제공하는 커뮤니티 기반의 프레임워크이며, 다양한 테마와 플러그인을 통해 사용자의 쉘 경험을 풍부하게 만든다.
source $ZSH/oh-my-zsh.sh 명령어는 Oh My Zsh 환경을 초기화하고, 새로운 설정을 적용하는 데 사용된다. 이 명령어는 $ZSH 환경변수에 지정된 경로에서 oh-my-zsh.sh 스크립트를 실행하며, 이 스크립트는 Oh My Zsh와 관련된 모든 설정을 다시 로드한다. 이는 Oh My Zsh의 테마나 플러그인이 변경되었을 때, 그 변경사항을 쉽고 빠르게 적용할 수 있게 해 준다.
source ~/.zshrc 명령어와는 달리, source $ZSH/oh-my-zsh.sh 명령어는 오직 Oh My Zsh와 관련된 설정만을 다시 로드한다는 점에서 차이가 있다. 따라서, Oh My Zsh 이외의 다른 zsh 설정이 변경된 경우에는 이 명령어만으로는 충분하지 않을 수 있다.
Oh My Zsh를 사용하는 경우, 테마나 플러그인을 자주 변경하거나 실험하는 경우에는 source $ZSH/oh-my-zsh.sh 명령어가 매우 유용하다. 이 명령어를 통해 빠르게 새로운 설정을 적용하고 터미널 환경을 새로고침할 수 있으며, 이는 개발자의 작업 효율을 높이는데 기여한다.
결론적으로, source ~/.zshrc 명령어와 source $ZSH/oh-my-zsh.sh 명령어는 각각 zsh와 Oh My Zsh 설정을 관리하는 데 있어서 중요한 역할을 한다. 이들 명령어를 적절히 활용함으로써, 사용자는 자신의 쉘 환경을 더욱 맞춤화하고 효율적으로 만들 수 있다.
4. iTerm2 꾸미기 - iTerm2에 노출되는 컴퓨터 이름 제거하기
아래 화면처럼 기본으로 컴퓨터 이름이 나온다. 불필요한 정보니까 여기서 사용자 이름만 노출하는 설정을 해주자.
zshrc 파일을 열어준다.
vi ~/.zshrc
이 파일 제일 아래 설정을 추가해 준다.
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
prompt_context() 함수 설명
prompt_context() 함수는 zsh 쉘의 프롬프트 설정 중 하나로, 사용자 이름과 관련된 정보를 프롬프트에 표시하는 방법을 정의한다. 구체적으로 이 함수가 하는 일을 설명하자면:
- if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then: 이 조건문은 현재 사용자가 기본 사용자($DEFAULT_USER)가 아니거나, 현재 SSH 클라이언트를 통해 연결되어 있는 경우를 확인한다. 즉, 기본 사용자가 아니거나 원격 접속 상황에서만 다음의 코드를 실행한다.
- prompt_segment black default "%(!.%{%F{yellow}%}.)$USER": 이 코드는 프롬프트에 표시될 사용자 이름의 형식을 정의한다.
- prompt_segment black default: 프롬프트 세그먼트의 색상과 스타일을 설정합니다. 여기서는 배경색을 검은색(black), 텍스트 색상을 기본값(default)으로 설정하고 있다.
- "%(!.%{%F{yellow}%}.)$USER": 이 부분은 사용자 이름을 어떻게 표시할지 정의한다. %(!.%{%F{yellow}%}.)는 사용자가 슈퍼유저일 경우 (%{!}) 텍스트 색상을 노란색(%{%F{yellow}%})으로 설정한다. $USER는 현재 로그인한 사용자의 이름을 나타낸다.
- fi: if 문의 끝을 나타낸다.
요약하자면, 이 prompt_context() 함수는 터미널 프롬프트에 현재 사용자 이름을 표시하는 방법을 정의한다. 기본 사용자가 아니거나 SSH를 통해 접속한 경우에만 사용자 이름을 표시하고, 슈퍼유저일 경우 사용자 이름을 노란색으로 표시하는 설정이다.
source ~/.zshrc 명령어로 변경 사항을 저장해 준다.
source ~/.zshrc
그럼 아래와 같이 사용자명만 나오게 된 모습을 확인할 수 있다.
5. iTerm2 꾸미기 - iTerm2에 syntax-highlighting 적용하기
homebrew를 사용해 zsh-syntax-highlighting를 설치한다.
brew install zsh-syntax-highlighting
설치가 완료되었다면 zshrc 파일에 아래 설정을 추가해 준다.
M1 이상일 때
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
intel Mac 일 때
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
source ~/.zshrc 명령어로 변경 사항을 저장해 준다.
source ~/.zshrc
이제 예약어가 아닌 명령어를 입력하면 빨갛게 나오고
정상 예약어를 입력하면 초록색으로 하이라이팅 된 모습을 확인할 수 있다!
iTerm2에는 아직 커스텀할 수 있는 설정들이 많다. 나중에 시간이 된다면 더 설정해 보도록 하겠다.
'ETC' 카테고리의 다른 글
[GIT] rebase, rebase squash (0) | 2024.08.09 |
---|---|
[GIT] 기본 개념 및 명령어 (0) | 2024.08.07 |
이메일 프로토콜 이해하기: SMTP, POP, IMAP의 기능과 설정 (2) | 2024.01.21 |