나는 기본 터미널이 아닌, Iterm2를 사용중이다.
HomeBrew를 사용하여 다운로드가 가능하다.
brew install --cask iterm2`
나는 Iterm2 폰트로 Fira-code를 사용중이다. D2-Coding, JetBrains Mono를 사용해보았지만, Fira-code가 가장 만족스럽다.D2-Coding은 폰트가 너무 얇고, JetBrains Mono는 폰트가 너무 두껍다. Fira-code가 가장 Iterm2 폰트로 적당하다.
나는 하단 상태바에 현재 디렉토리 위치, CPU, RAM 정보를 띄워두고 있다. 상태바는 도움이 되진 않지만, 보기 이쁘기 때문에 띄워놓고 있다.
Iterm2의 테마는 Minimal로 설정하여 사용 중이다. Minimal로 변경시 터미널이 단순하게 변경되서 보기 좋다.
나는 Snazzy을 사용중이다. 해당 Color Scheme은 https://iterm2colorschemes.com/에서 Snazzy를 저장하여, Import 하여 적용하면 된다. 참고로 나는 Snazzy Color Scheme 파일을 ~/util
디렉토리에 저장하여 Import 했다.
Custom window title 설정을 체크 후, 원하는 이름으로 변경하면 창 상단 중앙에 변경된 이름이 띄워지게 된다. 나는 ihaneum
이라고 지정해놓았다.
Zsh는 상호 작용 로그인 셸이자 셸 스크립트를 위한 강력한 명령 줄 인터프리터로 사용할 수 있는 유닉스 셸이다.
HomeBrew로 다운로드가 가능하다.
brew install zsh
last login : ....일시 On ttys015
안내문을 제거하기 위해 touch .huslogin 파일을 루트 경로에 저장하여 사용중이다.
Oh-my-zsh는 zsh의 configuration을 관리할 수 있는 프레임워크이다.
curl 명령어로 다운로드가 가능하다.
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Zsh Theme은 agnoster를 사용 중이다. Zsh theme는 .zshrc 파일에서 변경할 수 있다.
ZSH_THEME="agnoster"
나는 Zsh에서 사용자 이름을 숨기고 사용 중이며, ihaneum ☁️
이렇게 닉네임과 이모티콘을 보이도록 설정하고 있다. 이는 .zshrc에서 변경할 수 있다.
prompt_context() {
if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
fi
}
prompt_context() {
emojis=("☁️ ")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "ihaneum ${emojis[$RAND_EMOJI_N]} "
}
나는 agnoster 테마에서 명령어 입력 부분을 줄바꿈하여 사용중이다. agnoster.zsh-theme
파일에서 build_prompt 함수 부분에 prompt_newline를 추가해주고, prompt_newline 함수를 정의해주면 된다.
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_aws
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline
prompt_end
}
prompt_newline() {
if [[ -n $CURRENT_BG ]]; then
echo -n "%{%k%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR
%(?.%F{$CURRENT_BG}.%F{red})❯%f"
else
echo -n "%{%k%}"
fi
echo -n "%{%f%}"
CURRENT_BG=''
}
나는 플러그인으로 git과 zsh-syntax-highlighting을 사용 중이다. 이는 .zshrc에서 변경할 수 있다. 참고로 zsh-autosuggestions을 사용하지 않는 이유는, Amazon Q를 사용 중이기에 Amazon Q에서 지정하여 사용해야만 하기 때문이다.
plugins=(
git
zsh-syntax-highlighting
# zsh-autosuggestions # for Amazon Q
)
Zsh language는 영어로 사용 중이다. 이는 .zshrc에서 변경할 수 있다.
export LANG=en_US.UTF-8
zsh alias는 다양하게 지정하여 사용하고 있다. 이는 .zshrc에서 변경할 수 있다.
# Directory commands
alias r="cd /"
alias h="cd ~"
alias b="cd .."
alias m="cd"
# Prompt commands
alias c="clear"
alias cl="clear"
alias cle="clear"
alias clea="clear"
alias x="exit"
# Directory
alias dt="cd ~/desktop"
alias ws="cd ~/workspace"
alias ob="cd ~/obsidian"
alias vm="cd /Volumes"
# pnpm commands
alias p="pnpm"
# Brew commands
alias brew="arch -arm64 brew"
# mgk commands
alias mgk="magick"
# gitmoji
alias gmj="gitmoji"
# Chrome
alias chrome="/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome"
Amazon Q는 Fig와 동일한 역할을 하는 프로그램으로서, 터미널 사용에 유용한 기능을 많이 제공한다. https://aws.amazon.com/ko/q/ 여기서 다운로드가 가능하다.