터미널 설정
대학교 입학 기념으로 새로 구매한 Macbook Air에서 터미널 설정을 해보겠습니다.
회사에서 사용하던 맥북에서는 기본 터미널을 사용했지만, 이번에는 애정이 담긴 개인 노트북이기 때문에 정성껏 설정해보려고 합니다.
나중에 설정 과정을 쉽게 확인할 수 있도록 기록용으로 글을 작성합니다.
Homebrew 설치
먼저 기본 터미널을 열고 Homebrew를 설치합니다.
▶ Homebrew
macOS에서 사용되는 패키지 관리 도구입니다.
터미널에서 간단한 명령어를 통해 소프트웨어 설치, 삭제, 업데이트 등을 효율적으로 수행할 수 있습니다.
설치하고 싶은 패키지는 Homebrew 사이트에서 검색을 통해 설치 명령어를 확인할 수 있습니다.
터미널에 아래 명령어를 실행하여, Homebrew를 설치합니다.
실행하면 Password를 입력하라는 메시지가 나옵니다. 이때 Mac 로그인 시 사용하는 비밀번호를 입력하면 됩니다.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
다운로드가 완료되면, 정상적으로 진행되었는지 버전 확인을 통해 점검합니다.
아래와 같이 검색 경로에 문제가 있다면
brew --version
zsh: command not found: brew
Homebrew 경로를 환경변수에 추가하고, 변경된 설정을 적용합니다.
echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc
source ~/.zshrc
iTerm2 설치
다음은 iTerm2를 설치합니다. Homebrew를 통해 쉽게 설치할 수 있습니다.
▶ iTerm2
macOS에서 사용되는 터미널 에뮬레이터로, 기본 터미널 애플리케이션의 향상된 버전입니다.
기본 터미널보다 더 많은 기능을 제공하고, 다양한 커스텀이 가능해서 개발자들 사이에서 인기가 많습니다.
iTerm2 설치
brew install iterm2
zsh & oh my zsh 커스텀
● zsh & oh my zsh 설치
강력한 자동 완성과 커스텀을 위해 zsh과 oh my zsh를 설치합니다.
zsh는 macOS catalina 버전부터 기본 쉘로 제공되며, 만약 설치되지 않은 경우 Homebrew를 통해 설치할 수 있습니다.
oh my zsh 설치
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
설치를 마친 후, zsh 관련 설정을 해줘야 합니다.
설정은 .zshrc 파일에서 수정할 수 있으며, 이 파일은 zsh 셀 세션이 시작될 때마다 자동으로 실행됩니다.
● zsh 테마 설정
zsh에는 다양한 테마가 있지만, 그중에서 인기 있는 'agnoster' 테마로 설정하겠습니다.
vi 편집기를 통해 .zshrc 파일을 열고, ZSH_THEME 옵션을 찾아 'agnoster'로 값을 변경합니다.
(vi 편집기 사용법을 알고 있다는 가정하에 진행합니다.)
vi ~/.zshrc
● 사용자 이름 커스텀
터미널 기본 설정에서는 사용자 이름과 컴퓨터 이름이 함께 노출되는데, 이름이 너무 길어서 따로 커스텀하겠습니다.
.zshrc 파일 하단에 아래 스크립트를 추가합니다.
# change username
prompt_context() {
emojis=("🐥")
nickname="원하는 닉네임"
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "${nickname} ${emojis[$RAND_EMOJI_N]} "
}
● Syntax Highlighting 적용
정상적인 문법은 초록색으로, 잘못된 문법은 빨간색으로 표시하여 쉽게 식별할 수 있도록 설정하겠습니다.
Homebrew를 통해 패키지를 설치하고
brew install zsh-syntax-highlighting
.zshrc 파일 하단에 아래 스크립트를 추가합니다.
# Syntax Highlighting
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
● Auto Suggestion 적용
텍스트를 입력할 때 관련된 제안이나, 단어/문구를 자동으로 완성해 주도록 설정하겠습니다.
Homebrew를 통해 패키지를 설치하고
brew install zsh-autosuggestions
.zshrc 파일 하단에 아래 스크립트를 추가합니다.
# Auto Suggestion
source /opt/homebrew/share/zsh-autosuggestions/zsh-autosuggestions.zsh
● neofetch 적용
터미널에서 시스템 정보를 시각적으로 표시해 주는 명령줄을 zsh 셀 세션이 시작될 때 자동으로 보여주도록 설정하겠습니다.
Homebrew를 통해 패키지를 설치하고
brew install neofetch
.zshrc 파일 하단에 아래 스크립트를 추가합니다.
# run neofetch
neofetch
그리고 아까 임시로 진행했던 Homebrew 경로를 환경변수에 추가하는 설정을 .zshrc 파일 상단에 추가합니다.
(임시로 진행했던 명령어 → echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.zshrc)
export PATH=/opt/homebrew/bin:$PATH
지금까지 설정한 코드를 아래 명령어를 통해 반영합니다.
source ~/.zshrc
iTerm2 커스텀
이제 iTerm2를 커스텀하겠습니다. <command + ,>를 눌러 설정을 열어줍니다.
● Status Bar 설정
Profiles → Session → Status bar enabled 체크 → Config Status Bar를 눌러줍니다.
Status Bar에 표시하고 싶은 요소를 드래그를 통해설정하고 OK 버튼을 눌러 저장합니다.
Appearance → Theme를 Minimal로 변경 → Status bar location를 Bottome으로 설정하면
Status Bar 설정이 완료됩니다.
● Font 설정
기본 폰트 사용 시 테마 설정으로 인한 깨짐 현상이 있어, 다른 폰트로 설정합니다.
개발자들이 많이 사용하는 'D2 Coding' 폰트로 설정하겠습니다.
D2 Coding은 네이버에서 개발한 프로그래밍용 폰트입니다.
폰트 다운로드 및 설치를 진행하고 iTerm2 설정을 열어줍니다.
Profiles → Text → Unicode normalization form을 NFC로 지정 → Font를 D2Coding으로 설정합니다.
(Unicode normalization form을 None으로 설정해도 깨짐 현상이 있다는 이야기가 있어서 함께 변경했습니다.)
● Color 테마 적용
다양한 테마가 있지만, 그중에서 인기 있는 'Snazzy' 테마로 설정하겠습니다.
테마 이름에 하이퍼링크가 걸려있습니다.
원하는 테마의 이름에서 우클릭 후 '다른 이름으로 링크 저장'을 선택하여 테마 파일을 저장합니다.
iTerm2 설정을 열고,
Profiles → Colors → Color Presets을 선택합니다.
● 명령어 시작점 줄바꿈
현재 경로가 길어지면 명령어를 보기 힘들기 때문에 명령어 시작점을 줄바꿈합니다.
아래 스크립트 실행
vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
build_prompt() 안에 prompt_hg와 promt_end 사이에 prompt_newline을 추가합니다.
# 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 함수를 정의합니다.
# File: ~/.oh-my-zsh/themes/agnoster.zsh-theme
...
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=''
}
Reference
[1] https://salmonpack.tistory.com/52
[2] https://kdohyeon.tistory.com/122
[3] https://velog.io/@imysh578/Mac-Terminal-theme-%EA%BE%B8%EB%AF%B8%EA%B8%B0
'IT > 개발 환경' 카테고리의 다른 글
Composer란 무엇일까? - 설치 및 사용법 (0) | 2024.02.06 |
---|---|
Windows 10 LAMP 설치 방법 (2) (0) | 2020.12.01 |
Windows 10 LAMP 설치 방법 (1) (2) | 2020.11.30 |