개발환경

[macOS][터미널] iterm2 + zsh + vim 설정하여 터미널을 강력하게

개미맨 2020. 9. 20. 20:26

아래 과정을 다 진행하면 아래와 같은 터미널 설정이 가능 합니다.

  • git a 만 입력하고 tab할 경우 a로 시작하는 연관된 명령어 나열되며 선택 가능 합니다.
  • 이전의 입력한 명령어가 기억되어 그림자로 표시됩니다.
  • 존재하는 명령어의 경우 초록색으로 하이라이트 됩니다.

 

item2 설치

www.iterm2.com/

 

iterm2 theme 설치

iTerm2-Color-Schma

git clone https://github.com/mbadolato/iTerm2-Color-Schemes.git

iterm2 > preferences > Profile > Color > Color Presets... > import...

다운로드 받은 iTerm2-Color-Schemes/schemes 폴더에서 원하는 테마를 import 해줍니다.

저는 귀찮아서 전체 다 해주었습니다. 저는 3024 Night 테마를 선택 하였습니다. ( 취향의 맞게 color를 적용 합니다. )

 

brew  설치

brew.sh/index_ko

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

zsh 설치. ( 선택 - zsh설치되지 않은 경우 설치합니다. )

현재 자신이 사용하고 있는 터미널이 무엇인지 모르는 경우 echo $0 를 입력하면 확인이 가능 합니다.

brew install zsh

Oh my ZSH설치 ( zsh를 쉽게 사용하게 해주는 플러그인 )

github.com/ohmyzsh/ohmyzsh

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

테마를 agnoster로 변경해 줍니다.

vi ~/.zshrc 파일에서 ZSH_THEME=”robyrussell”라고 되어있는 부분이 있습니다. 이부분을 agnoster로 수정합니다.

agnoster는 기본테마이기 때문에 추가 적인 설치는 필요 없습니다. 현재디렉토리의 git의 상태를 보여준다고 하여서 사용합니다.

 

프롬프트의 사용자 이름만 나오도록 최적합니다.

vi ~/.zshrc 파일의 제일 마지막 부분의 아래 부분을 넣어 줍니다.

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

프롬프트 뉴라인 적용

명령줄이 너무 길어져 화면을 넘어가는 경우가 있으니 다음라인부터 프롬프트 하도록 설정해 줍니다.

vi ~/.oh-my-zsh/themes/agnoster.zsh-theme 파일의 build_prompt()함수 안의 prompt_end 위의 prompt_newline을 추가해 줍니다.

build_prompt() {
  RETVAL=$?
  prompt_status
  prompt_virtualenv
  prompt_context
  prompt_dir
  prompt_git
  prompt_bzr
  prompt_hg
  prompt_newline //이부분을 추가 꼭 순서 지켜서
  prompt_end
}

build_prompt() 함수 바로 아래의 함수도 추가해 줍니다.

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

source ~/.zshrc

 

naver d2codingfont 폰트 설치

https://github.com/naver/d2codingfont

git clone https://github.com/naver/d2codingfont

 

최신 릴리즈 버전 D2Coding-Ver1.3.2-20180524.zip 파일 압축을 해제 합니다. 

맥의 서체 관리자를 실행하여 d2codingfont를 추가해 줍니다.

서체관리자에서 십자가 모양을 누르고 D2Coding-Ver1.3.2-20180524 폴더를 선택하면 폰트가 추가됩니다.

 

 

iterm2 > preferences > profile > Text > Font 를 D2Coding ,13으로 변경합니다.

syntax hightlight 설치하기

github.com/zsh-users/zsh-syntax-highlighting

존재하는 명령어의 경우 초록색으로 하이라이트 되고 존재하지 않으면 분홍색으로 하이라이트 됩니다.

brew를 통해 설치해줍니다.

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

~/.zshrc 파일의 아래를 추가 해줍니다. 여러개일 경우 공백으로 구분합니다.
plugins=(zsh-syntax-highlighting)

 

자동 제안 설치하기

이전의 타이핑한적이 있던 명령어를 기억해서 일부 단어만 입력해도 흐릿하게 제안해 줍니다.

github.com/zsh-users/zsh-autosuggestions

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

~/.zshrc 파일의 아래를 추가 해줍니다. 여러개일 경우 공백으로 구분합니다.
plugins=(zsh-autosuggestions) 

 

 

iterm2 자음 모음 분리 문제

 

iterm2 > preference > profile > text > Unicode normalization form 을  NFC로 바꿔주면 해결됩니다.

 

vim

github.com/amix/vimrc

git clone --depth=1 https://github.com/amix/vimrc.git ~/.vim_runtime
sh ~/.vim_runtime/install_awesome_vimrc.sh

 

vi ~/zshrc 파일을 열어본 모습입니다. vi 설정은 많은 부분을 살펴 보지 못해 파악할 부분이 많이 있습니다.

주석 및 변수 컬러 구분되는 것으로 보아 기본적인 설정이 되는 것 같습니다.

 

 

 

참고

'개발환경' 카테고리의 다른 글

[macOS] 바탕화면(데스크탑) 쉽게 가기  (0) 2020.12.08