대부분의 사람들이 macOS에서 제공하는 기본 터미널 앱을 사용하기 보다는 iterm2 사용하는 것 같다. 그래서 iterm2 다운받아 설치하도록 한다.
그리고 macOS 패키지 매니저인 HomeBrew도 설치해야 하며, 패키지 매니저를 설치하면 CLI환경에서 brew 명령어를 사용하여 앱 또는 패키지 설치가 가능하다.
% /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
HomeBrew를 설치하기 위해 Command Line for xcode가 함께 설치되며, 설치가 완료되면 아래의 스크립트를 실행하여 brew 실행 파일을 생성해야 한다.
% (echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/gon/.zprofile
% eval "$(/opt/homebrew/bin/brew shellenv)"
macOS도 기본 쉘이 zsh을 사용하지만, oh my zsh 프레임워크를 설치하여 강력한 확장 기능을 사용할 수 있다. oh my zsh 및 CLI 하일라이팅 플러그인을 아래 스크립트로 설치하도록 한다.
% sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
% brew install zsh-syntax-highlighting
테마를 rubbyrushell에서 agnoster로 변경하고, syntax-highlight가 적용되도록 아래와 같이 수정하도록 한다.
% vi ~/.zshrc
...
ZSH_THMEM="agnoster"
...
# 맨 마지막 라인에 추가
source /opt/homebrew/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
그리고 커맨드 라인을 개행으로 변경하여 가독성을 높이기 위해 agnoster 테마 파일을 아래와 같이 수정하도록 한다.
% vi ~/.oh-my-zsh/themes/agnoster.zsh-theme
...
# newline() 추가
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=''
}
## Main prompt
build_prompt() {
RETVAL=$?
prompt_status
prompt_virtualenv
prompt_aws
prompt_context
prompt_dir
prompt_git
prompt_bzr
prompt_hg
prompt_newline # 추가
prompt_end
}
macOS는 vim이 기본 설치되어 있지만, 어떤 설정도 없이 디폴트 값으로 사용하기 때문에 간단히 콘솔에서 수정이 필요할 때 많이 쓰는 vi가 불편하여 색테마와 몇몇 옵션을 적용하도록 한다.
VIM Color 순위 사이트에서 VIM 색상 테마 파일을 다운받을 수 있으며, 여기서 가장 무난한 색상 테마인 jellybeans 테마를 받아서 설치하려면 ~/.vim/colors 디렉토리를 생성하여 여기로 복사해야 한다.
% mkdir ~/.vim/colors
% cp jellybeans ~/.vim/colors
# vimrc 생성 및 설정 내용
% vi ~/.vimrc
colorschema jellybeans
if has("syntax")
syntax on
endif
set number
set statusline=3
set expandtab
set tabstop=2
set shiftwidth=2
set smartindent
set hlsearch
set enc=utf-8
set fenc=utf-8
set fencs=utf-8,cp949,cp932,euc-jp,shift-jis,big5,ucs-2le,latin1
au BufReadPost *
\ if line("'\"") > 0 && line("'\"") <= line("$") |
\ exe "normal g`\"" |
\ endif
~
iterm2는 우분투의 tilix와 같이 화면분할 기능을 제공하여 기본 터미널 앱을 버리고 이것을 쓸 수 밖에 없겠금 만든 앱이다. 또한 상태바를 설정하여 아래와 같이 리소스 정보를 확인할 수 있으며, iterm2colorschema 사이트를 통하여 다양한 색상 테마를 적용할 수 있다.