iTerm2 없이 터미널 꾸미기

naseo·2021년 2월 12일
13

Settings

목록 보기
1/1
post-thumbnail

지금 좀 멀리서 보느라 글씨를 매우 크게 해놔서 안 예쁘지만.. 완성본은 이렇다!!


많은 개발자들이 iTerm2 + Oh My ZSH로 예쁘게 꾸미는 것 같다.
근데 나는 기본 terminal을 이용하고 싶다!! 정말로! iterm2로 열기 싫었다.

그래서 iTerm2 없이 oh-my-zsh만 이용해서 terminal을 예쁘게 꾸몄다!
물론 기본 터미널 이용 시 iTerm2만의 편리한 기능들은 이용하지 못한다!


단계 중간마다 적용 상황을 보고 싶다면 터미널을 껐다 켜면 된다!

캡처하기는 귀찮다.. 나중에 오류가 나서 다시 할 상황이라면.. 그땐 캡처를 해서.. 수정하기로..


아래 글을 보기 전에 보면 좋은 나 같은 terminal, vim 초보자를 위한 정리

  1. 밑에 설명에서 ">" 달린 건 터미널에 그냥 입력하라는 거고
    안 달린 거는 따로 vi 통해 이동해서 파일 수정할 때 추가하라는 것이다!

  2. (vi: 명령&입력 모드 전환) 입력하려면 i를 누른다.
    (입력 모드로 전환됨. 다시 명령모드로 돌리고 싶다면 ESC를 누르면 된다.)

  3. (vi-명령 모드) 맨 아래로 가려면 G를 입력한다.

  4. (vi-명령 모드) 다시 맨 위로 오려면 gg를 입력한다.

  5. (vi-명령 모드) 커서가 있는 줄 전체를 지우려면 dd를 입력한다.

  6. (vi-명령 모드) 지운 걸 되돌리고 싶다면 u를 입력한다. (Ctrl+Z 기능)

  7. (vi-명령 모드) 다 입력하고 저장하고 vim을 빠져나올 땐 :wq를 입력한다. (강제로는 :wq!)

  8. (">"로 시작하는) 명령어 입력 중 권한 문제 생기면 명령어 앞에 "sudo " 붙이고 해본다.

  9. 터미널에서 cmd(ctrl)+K를 누르면 창이 깨끗해진다.

  10. cd(autojump 설치 후 j)만 입력하면 홈 디렉토리로 바로 갈 수 있다.

vim 명령어는 많지만.. 나도 잘 모른다. 공부해야 한다.
내가 터미널 꾸밀 때 사용한 것들만 나열했다.


0. oh-my-zsh 삭제

처음 설치하는 사람이라면 필요 없다. 1번부터 보면 된다.

Oh My Zsh가 이미 깔려 있는데 초기화 하고 싶으신 분들이라면

> rm -rf ~/.oh-my-zsh
> rm ~/.zshrc
> cp ~/.zshrc.pre-oh-my-zsh ~/.zshrc
> source ~/.zshrc

이 명령어를 통해 새로 시작한다!

1. oh-my-zsh 설치

> brew install zsh

> sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
cs

먼저 terminal에 위의 명령어를 입력해서 oh-my-zsh를 설치한다.

2. color theme 적용 (snazzy)

terminal에 snazzy 컬러 적용

위 사이트에 들어가서
Install 부분에 있는 대로 따라하면 된다.

  1. Snazzy.terminal 다른 이름으로 링크 저장
  2. 다운받은 Snazzy.terminal 실행 (적용된 터미널 열림)
  3. 환경 설정 가면 Snazzy가 적용돼있을 건데 그걸 기본으로 설정한다. (앞으로도 터미널 열면 Snazzy가 적용된다.)

https://github.com/lysyi3m/macos-terminal-themes

[vscode-terminal color]
https://frhyme.github.io/vs-code/vs_code_terminal_theme/
https://glitchbone.github.io/vscode-base16-term/#/3024

3. theme 적용 (agnoster)

> vi ~/.zshrc

ZSH_THEME="agnoster"

vi ~/.zshrc로 이동하고 중간에 ZSH_THEME 부분을 찾아서 agnoster로 변경해준다.

https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes

[powerlevel10k 테마]
https://velog.io/@xedni/I-Term-%EB%82%B4-%ED%84%B0%EB%AF%B8%EB%84%90-%EC%98%88%EC%81%98%EA%B2%8C-%EA%BE%B8%EB%AF%B8%EA%B8%B0

[vscode terminal]
https://gonigoni.kr/posts/vscode-oh-my-zsh/

4. 쉘에 사용자 이름만 남게 하기

> vi ~/.zshrc

prompt_context() {
  if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
    prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
  fi
}

2번과 마찬가지로 vi ~/.zshrc를 입력해서 이동하고 맨 아래에 다음과 같은 코드를 추가해준다.

5. 폰트 설정

폰트(한글)가 아마 깨질 것이다.

Hack 폰트 설치 링크

위 사이트에서 아래로 내리면 다운로드하는 버튼이 있다!

설치를 완료하면
터미널을 클릭 후 상단 좌측 애플 로고 옆에 터미널 > 환경 설정 > 프로파일 > 서체에서 위에서 설치한 Hack 폰트를 선택한다.
(터미널 껐다 켜면 이제 한글 안 깨진다.)

6. 쉘에 이모티콘 적용하기

> vi ~/.zshrc

prompt_context() { 
  # Custom (Random emoji) 
  emojis=("⚡️" "🔥" "🇰" "👑" "😎" "🐸" "🐵" "🦄" "🌈" "🍻" "🚀" "💡" "🎉" "🔑" "🚦" "🌙")
  RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1)) 
  prompt_segment black default "{하고싶은이름} ${emojis[$RAND_EMOJI_N]} " 
}

2, 3번과 마찬가지로 vi ~/.zshrc로 이동하고

아래 코드를 삽입해서 예쁘게 적용하면 된다.
나는 로켓만 보여주고 싶고, 이름은 seona로 나왔으면 해서

prompt_context() { 
  # Custom (Random emoji) 
  emojis=("🚀")
  RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1)) 
  prompt_segment black default "seona ${emojis[$RAND_EMOJI_N]} " 
}

이렇게 했다.
물론 이럴 거면 랜덤이 필요 없지만.. 그 부분 고치는 거 알아 보기가 귀찮다.. ㅎ;

+++
지금은 이름 없애고 로켓만 둬서 이렇게 해논 상태

prompt_context() { 
  emojis=("🚀")
  prompt_segment black default "${emojis}"
}

7. 터미널 시작 시 나오는 복잡한 메시지 없애기 (오류)

여기까지 다 하고 터미널을 다시 열면

이런 식으로 위에 뭐 불라불라 많을 수도 있다!! (계정 충돌 그런 문제라고 한다.)
이걸 삭제하려고 한다.
이런 게 안 뜬다면 그냥 넘어가자!

> vi ~/.zshrc

ZSH_DISABLE_COMPFIX="true"

> source $ZSH/oh-my-zsh.sh

여기서 중요한 것!!
ZSH_DISABLE_COMPFIX="true"
이거는 맨 뒤가 아니라 맨 앞에 추가해야 한다!!!!!

이제 터미널을 다시 켜면

이렇게 깔끔하게 나온다!😊

+++
혹시 Last login 어쩌구 메시지가 나온다면
터미널에

> touch .hushlogin

입력하고 터미널 다시 켜면 없어져 있다!

8. 터미널 git 커맨드라인 한글->영어 바꾸기

git 사용할 때 도움말(?) 같은 것들이 한글로 나온다면
아래 방법을 수행한다.

> vi ~/.zshrc

export LANG=en_US

> source ~/.zshrc

나 같은 경우에는 zshrc 안에 이 문장이 이렇게 주석 처리 돼있어서 주석을 풀었다.

# export LANG=en_US.UTF-8

아예 이런 게 없다면 추가해주면 될 것 같다.


9. plugins 설치 (option)

여기서부터는 옵션이긴 한데 편리하니까 하는 것을 추천한다!!

1. zsh-syntax-highlighting

> brew install zsh-syntax-highlighting

> git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

2. zsh-autosuggestions

> brew install zsh-autosuggestions

> git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

3. autojump

여러 번의 cd 명령어를 통해서 디렉토리를 바꾸는 것을
간단히 j 명령을 통해서 한번에 이동할수 있는 플러그인이다.
단, 한 번 이상 디렉토리를 방문한 경우에만 autojump가 가능합니다.

> brew install autojump

> git clone git://github.com/wting/autojump.git

> cd autojump

> ./install.py

> vi ~/.zshrc

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

1~3번 plugin 적용

여기까지 했다면 적용해줘야 한다!!

zshrc에서 아래로 내리다 보면
plugins=(git) 이렇게 적혀져있는 부분에
아래와 같이 3개의 플러그인을 적어주고 source 명령어로 적용 해주면 된다.

> vi ~/.zshrc

plugins=( 
git
autojump
zsh-autosuggestions
zsh-syntax-highlighting
)
 
> source ~/.zshrc

4. newline

난 이건 안 했다! 나중에 필요하면 하려고 한다. 은근 줄 바뀌는 게 내가 입력한 게 잘 안 보여서 불편할 때도 있어서..
내가 안 하기도 했고,, 잘 정리해주셔서 참고한 블로그 내용을 캡처했다...

(사실 이 plugin 없애려다 오류나서.. zsh 초기화하고 다시 설정하면서 작성하는 글이다..😭😭)

윤자이 기술블로그
이 분의 블로그 글입니다!

10. neovim

vim 기본 화면은 저렇게 모든 글씨가 하얀 색으로 나온다.
구분하기 좀 어렵다.
neovim을 설치해서 컬러를 넣어주자.

> brew install neovim
> brew install cask
> brew tap homebrew/cask-fonts
> brew install --cask font-hack-nerd-font
> vi ~/.zshrc

alias vim="nvim"
alias vi="nvim"
alias vimdiff="nvim -d"
export EDITOR=/usr/local/bin/nvim

> source ~/.zshrc

+++
spacevim으로 neovim을 조금 더 고급스럽게 만들어줄 수 있다고 한다.
난 오류 나서.. 나중에 시도하기로..


참고 블로그

많은 분들의 블로그를 참고했다. 정말 다들 정리를 잘 해주셨다. 👍🏻👍🏻

oh-my-zsh 설치, Hack 폰트 설치 참고
agnoster theme 적용, 사용자 이름만 남기기 참고
snazzy theme, 이모티콘 적용 참고
복잡한 메시지 없애기 참고
git 커맨드라인 한글->영어 참고
plugins 참고
neovim 참고


끝🤍

5개의 댓글

예뻐서 따라하려했떠니 powerlevel10k는 안먹는거 같아요

1개의 답글
comment-user-thumbnail
2023년 4월 25일

안녕하세요 덕분에 잘 적용했습니다.
하지만 좀 아쉬운게 있어가지고... 저 같은 경우에는 이름뒤에 ~ 표시다음에 띄어쓰기 표시가 없어가지고 조금 균형이 아쉬워서 그러는데 혹시 ~ 표시 다음에 띄어쓰기 넣는 방법을 알 수 있을까요

정확하게는 위에 newline 부분의 ooeunz이름의 ~ 상태처럼 뒤어있습니다.
원하는 형태는 이름 seona 스샷의 ~ 처럼 하고 싶어요.. 띄어쓰기 한칸이지만 뭔가... 혹시나 가능하시다면 방법 부탁드리겠습니다!

답글 달기