나의 터미널 설정 공유

차한음·2025년 1월 11일
0

Iterm2

Iterm2

나는 기본 터미널이 아닌, Iterm2를 사용중이다.
HomeBrew를 사용하여 다운로드가 가능하다.

brew install --cask iterm2`

Iterm2 Font

나는 Iterm2 폰트로 Fira-code를 사용중이다. D2-Coding, JetBrains Mono를 사용해보았지만, Fira-code가 가장 만족스럽다.D2-Coding은 폰트가 너무 얇고, JetBrains Mono는 폰트가 너무 두껍다. Fira-code가 가장 Iterm2 폰트로 적당하다.

Iterm2 Configure Status Bar

나는 하단 상태바에 현재 디렉토리 위치, CPU, RAM 정보를 띄워두고 있다. 상태바는 도움이 되진 않지만, 보기 이쁘기 때문에 띄워놓고 있다.

Iterm2 Theme

Iterm2의 테마는 Minimal로 설정하여 사용 중이다. Minimal로 변경시 터미널이 단순하게 변경되서 보기 좋다.

Iterm2 Colors

나는 Snazzy을 사용중이다. 해당 Color Scheme은 https://iterm2colorschemes.com/에서 Snazzy를 저장하여, Import 하여 적용하면 된다. 참고로 나는 Snazzy Color Scheme 파일을 ~/util 디렉토리에 저장하여 Import 했다.

Iterm2 Window Name

Custom window title 설정을 체크 후, 원하는 이름으로 변경하면 창 상단 중앙에 변경된 이름이 띄워지게 된다. 나는 ihaneum이라고 지정해놓았다.

Zsh

Zsh

Zsh는 상호 작용 로그인 셸이자 셸 스크립트를 위한 강력한 명령 줄 인터프리터로 사용할 수 있는 유닉스 셸이다.
HomeBrew로 다운로드가 가능하다.

brew install zsh

.hushlogin

last login : ....일시 On ttys015 안내문을 제거하기 위해 touch .huslogin 파일을 루트 경로에 저장하여 사용중이다.

Oh-my-zsh

Oh-My-Zsh

Oh-my-zsh는 zsh의 configuration을 관리할 수 있는 프레임워크이다.
curl 명령어로 다운로드가 가능하다.

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Zsh Theme

Zsh Theme은 agnoster를 사용 중이다. Zsh theme는 .zshrc 파일에서 변경할 수 있다.

ZSH_THEME="agnoster"

Zsh Nickname

나는 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]} " 
}

Zsh New Line

나는 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=''
}

Zsh Plug-In

나는 플러그인으로 git과 zsh-syntax-highlighting을 사용 중이다. 이는 .zshrc에서 변경할 수 있다. 참고로 zsh-autosuggestions을 사용하지 않는 이유는, Amazon Q를 사용 중이기에 Amazon Q에서 지정하여 사용해야만 하기 때문이다.

plugins=(
    git
    zsh-syntax-highlighting
    # zsh-autosuggestions # for Amazon Q
)

Zsh Language

Zsh language는 영어로 사용 중이다. 이는 .zshrc에서 변경할 수 있다.

export LANG=en_US.UTF-8

Zsh Alias

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

Amazon Q는 Fig와 동일한 역할을 하는 프로그램으로서, 터미널 사용에 유용한 기능을 많이 제공한다. https://aws.amazon.com/ko/q/ 여기서 다운로드가 가능하다.

참고

profile
What is more important than the hot passion is the constant passion.

0개의 댓글