Apple Silicon (2022.11.21 기준 M1, M2 칩) 이 탑재된 맥북을 기반으로 Homebrew 설치부터 iTerm2 를 사용한 터미널 꾸미기, VScode 터미널 연동에 이르기까지 전반적인 세팅 과정에 대해 간략히 정리해두고자 한다.
< 목차 >
- Homebrew 설치
- iTerm2 (터미널 세팅)
- VScode Terminal 연동
1. Homebrew 설치
맥북 유저라면 macOS 용 package manager인 Homebrew 를 사용할 것을 추천한다.
Homebrew 사이트에 들어가서 설치 관련 스크립트를 복사한 후 터미널에 붙여넣기 해주기만 하면 된다.
Homebrew
The Missing Package Manager for macOS (or Linux).
brew.sh
👉 터미널에 붙여넣기
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
위의 명령어를 터미널에 입력하여 Homebrew를 설치하면 다음과 같은 Warning이 나오는 경우가 있다.
M1 이상의 칩을 사용하는 모델의 경우 해당 Warning 이 나오는 것으로 알고 있으며 'Next steps' 에 나와있는 명령어를 추가적으로 입력해 주기만 하면 된다.
$ echo '# Set PATH, MANPATH, etc., for Homebrew.' >> /Users/bitkunst_company/.zprofile
$ echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/bitkunst_company/.zprofile
$ eval "$(/opt/homebrew/bin/brew shellenv)"
Next steps 에 제시된 명령어를 모두 입력했다면 Homebrew의 설치가 끝난 것이므로 다음의 명령어를 통해 제대로 설치가 되었는지 확인해보는 작업을 진행해 주도록 하자.
$ brew -v
위와 같이 Homebrew의 version이 출력된다면 제대로 설치가 완료된 것이다.
2. iTerm2 (터미널 세팅)
맥북의 기본 터미널을 보다 예쁘게 사용하고 싶다면 iTerm2를 설치해서 커스터마이징 하는 것을 추천한다.
iTerm2 - macOS Terminal Replacement
iTerm2 by George Nachman. Website by Matthew Freeman, George Nachman, and James A. Rosen. Website updated and optimized by HexBrain
iterm2.com
추가적으로 oh-my-zsh 를 설치해 터미널을 커스터마이징 해보도록 하자.
Oh My Zsh - a delightful & open source framework for Zsh
Oh My Zsh is a delightful, open source, community-driven framework for managing your Zsh configuration. It comes bundled with several helpful functions, helpers, plugins, themes, and a few things that make you shout... OH MY ZSH!
ohmyz.sh
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
oh-my-zsh 를 설치 완료했다면 iTerm2 테마를 다운 받아서 설치해주도록 하자.
https://iterm2colorschemes.com/
Iterm Themes - Color Schemes and Themes for Iterm2
iterm2colorschemes.com
원하는 테마를 고른 다음 해당 url 을 복사하여 다음과 같이 util 디렉토리 안에 다운 받아 놓도록 하자.
$ mkdir util && cd util
$ curl -LO [복사한 url]
필자는 Dracula+ 테마를 선택하였고 위와 같이 util 디렉토리 안에 테마가 다운 받아진 것을 확인할 수 있다.
이제 iTerm2에서 다운 받은 테마를 선택해 적용해주면 된다.
iTerm2 ▶ Preferences ▶ Profiles ▶ Colors ▶ Color Presets ▶ Import 에서 다운 받은 theme 을 선택해주도록 하자. 그리고 .zshrc 파일에 들어가서 특정 부분을 변경해주면 된다.
$ vi ~/.zshrc
ZSH_THEME="robbyrussell" 부분을 ZSH_THEME="agnoster" 로 변경해준다. ( 이 때 i 버튼을 눌러 insert 모드로 변경한 후 진행해 주도록 하며 변경이 완료된 후에는 esc를 누른 뒤 :wq! 명령어를 입력해주면 된다. )
theme은 적용이 되었지만 위와 같이 폰트가 깨져있는 것을 확인할 수 있을 것이다. 이제 폰트 설정을 잡아주도록 하자.
필자는 D2Coding 폰트를 다운받아 사용하고자 한다.
https://github.com/naver/d2codingfont
GitHub - naver/d2codingfont: D2 Coding 글꼴
D2 Coding 글꼴. Contribute to naver/d2codingfont development by creating an account on GitHub.
github.com
D2Coding 폰트를 다운 받아 설치한 다음,
iTerm2 ▶ Preferences ▶ Profiles ▶ Text ▶ Font 에서 D2Coding을 선택해 적용해 주기만 하면 된다.
추가적으로 Text 부분 설정은 다음과 같이 잡아주었다.
👉 추가 기능
추가적으로 터미널에 나타나는 사용자명을 변경하고자 한다면 .zshrc 파일에 들어가서 맨 아래에 다음과 같은 텍스트를 추가해주면 된다. 변경사항을 저장하고 나온 다음 source 명령어를 추가로 입력해 적용시켜줘야 함에 유의하도록 하자.
$ vi ~/.zshrc
prompt_context() {
prompt_segment black default "하고싶은이름"
}
$ source ~/.zshrc
폰트 적용이 완료되었다면 Session 에 들어가서 Status bar enabled 를 체크하여 기호에 맞춰 원하는 상태바를 터미널에 위치시켜 놓도록 하자. ( 부가적인 기능이긴 하지만, 꽤나 편리하다. )
👉 명령어 하이라이트
터미널 명령어에 하이라이트를 입히는 기능이다. homebrew 를 사용해 zsh-syntax-highlighting 을 설치하고 다음의 작업을 진행해주면 된다.
$ brew install zsh-syntax-highlighting
$ vi ~/.zshrc
$ ## .zshrc 파일 하단에 추가하여 터미널을 열때마다 실행되게끔 설정
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
3. VScode Terminal 연동
iTerm2 를 사용해 커스터마이징 한 터미널을 VScode 터미널에도 동일하게 적용시키는 작업을 진행해보도록 하자.
VScode settings(설정)의 터미널 부분에 다음과 같이 Terminal.app 으로 되어 있는 부분을 iTerm.app 으로 변경해준다.
다만 VScode 에서도 폰트가 깨져서 나오기 때문에 다음과 같이 폰트 설정을 추가적으로 진행해줘야만 한다. settings(설정)의 텍스트 편집기에서 글꼴 부분에 D2Coding을 추가로 넣어주도록 하자.
마지막으로 필자의 경우 VScode 에서 Vim plugin을 사용하기 때문에 다음과 같은 설정을 추가로 잡아주었다.
1. Toggle Vim Mode 단축키 설정하기.
2. Mac VScode 에서 Vim plugin 사용시 키 연속 입력 안되는 문제 해결. ( VScode 터미널에 아래 명령어 입력 후 재시작 )
$ defaults write com.microsoft.VSCode ApplePressAndHoldEnabled -bool false
3. 터미널과 코드 에디터 포커스 전환 단축키 설정.
command + shift + p 를 누르고 Open Keyboard Shortcuts (JSON) 으로 들어가 다음과 같이 설정한다.
( Default 가 아님에 유의하도록 하자. )
[
{
"key": "ctrl+escape",
"command": "toggleVim"
},
{
"key": "cmd+;",
"command": "terminal.focus",
"when": "editorFocus"
},
{
"key": "cmd+;",
"command": "workbench.action.focusActiveEditorGroup",
"when": "terminalFocus"
}
]