일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 좋은 PR
- docker
- AJIT
- 타입 단언
- React.memo
- useCallback
- TypeScript
- CS
- Headless 컴포넌트
- 명시적 타입 변환
- linux 배포판
- Dockerfile
- 암묵적 타입 변환
- Compound Component
- react
- prettier
- 주니어개발자
- type assertion
- Custom Hook
- JavaScript
- 프로세스
- Microtask Queue
- task queue
- Sparkplug
- Event Loop
- Render Queue
- useLayoutEffect
- useEffect
- useMemo
- prettier-plugin-tailwindcss
- Today
- Total
구리
[Mac M1] 터미널 꾸미기 (iTerm2 + Oh My ZSH) 본문
맥 카탈리나 OS부터는 bash가 아닌 zsh가 기본 쉘이며 필자의 터미널에는 homebrew만 설치한 상황입니다.
ZSH란?
Z Shell이라고 불리는 본쉘의 확장팩(?) 같은 쉘로 Z Shell을 사용하면 훨씬 강력하게 사용할 수 있으며 Oh My ZSH는 Z Shell에 여러가지 플러그인이나 추가기능을 사용할 수 있도록 만들어진 플러그인
iTerm2 설치
링크를 통해 접속하여 iterm2를 설치합니다.
iTerm2 테마 설치 (옵션)
링크를 통래 접속하여 원하는 다양한 iTerm2 컬러 스키마를 다운받을 수 있습니다.
다운을 받은 후 iTerm2에서 cmd + , 를 눌러 환경설정을 띄운 후 Profile -> colors에서 우측 하단의 Color Preset이라는 dropbox 클릭 후, 맨 아래쪽의 imports를 하여 다운로드 받은 모든 스키마 파일을 import하여 원하는 테마로 변경합니다.
zsh와 Oh-My-ZSH 설치
brew install zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
사용자명 안보이게 하기
vi ~/.zshrc
# i입력하여 맨 아래 부분에 하단의 코드를 추가한 후 esc + :wq를 입력하고 enter하여 나간다.
# DEFAULT_USER
DEFAULT_USER="$(whoami)"
#
source ~/.zshrc
agnoster 테마 설치
현재 디렉토리에서 Git의 상태를 알려주는 테마로 현재 마스터 브랜치인지 개발 브랜치인지 알려주는 기능들이 있습니다.
# zshrc 파일 수정
vi ~/.zshrc 또는 opne ~/.zshrc
# 설정파일 진입 후 5~15번째줄에 있는 ZSH_THEME=”robyrussell” 부분을 agnoster로 수정하기
ZSH_THEME=”agnoster”
# 설정 파일에서 나간 후 zshrc 파일 적용
source ~/.zshrc
위와 같은 설정을 마치면 폰트가 깨지게 되는데 다른 폰트로 변경해야 합니다.
저는 D2 코딩 폰트를 사용했습니다.
D2 폰트로 변경
링크로 들어가 최신 버전 폰트를 다운 받은 후 맥북 환경 설정 -> 서체 관리자에서 다운 받은 폰트를 적용합니다.
그 후 iTerm2에서 cmd + , 로 환경설정에 들어가 Profile > Text에서 change Font를 눌러 D2Coding 폰트를 선택합니다.
줄바꾸기 적용
긴 스크립트 입력시 화면에서 벗어나는 경우가 많기에 New Line을 적용했습니다.
agnoster 테마를 적용한 것을 기준으로 편집창을 엽니다.
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
}
그다음 아래 코드를 추가합니다.
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=''
}
설정을 완료하면 아래와 같이 줄바꿈된 라인에서 명령어가 입력됩니다.
하이라이팅 기능 (옵션)
사용할 수 없는 명령어라면 초록색으로 하이라이팅 되지 않으며 잘못된 명령어를 쉽게 거를 수 있습니다.
brew install zsh-syntax-highlighting
# 플러그인 설치 후 zshrc 파일에 플러그인 추가
vi ~/.zshrc
plugins=(
zsh-syntax-highlighting
)
만약 not found 에러가 발생한다면 상단에 추가했던 plugins안에 zsh-zyntax-highlighting을 지운 후 아래의 스크립트를 실행합니다.
이 스크립트는 다시 설치한다는 의미입니다.
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting
자동완성 기능 (옵션)
# oh my zsh를 이용한 설치
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# zshrc 파일 열어 플러그인 로드를 위한 구문 추가
vi ~/.zshrc
plugins=(
zsh-autosuggestions
)
source ~/.zshrc
사용자 이름 이모티콘 커스터마이징 (옵션)
vi ~/.zshrc
# 원하는 이모지 및 이름 설정
prompt_context() {
# Custom (Random emoji)
emojis=("🦊" "🐧")
RAND_EMOJI_N=$(( $RANDOM % ${#emojis[@]} + 1))
prompt_segment black default "{하고싶은이름} ${emojis[$RAND_EMOJI_N]} "
}
# 설정 종료 후 저장
source ~/.zshrc
추가 디자인 (옵션)
iTerm2 의 Preference에서 설정을 변경합니다.
1. Title bar style
- Appearance > Theme: Minial
2. Title bar 밑에 1px 라인제거
- Appearance > Windows > Show line under title bar when the tab bar is not visible: 체크 안함
3. 폰트 크기 및 줄간격 변경
- Profiles > Text: 폰트사이즈 14로 변경
- Profiles > Text: n/n 줄간격 110으로 변경
4. Margin 수정
- Appearance > Panes > Side margins: 12
- Appearance > Panes > Top & bottom margins: 10
5. 탭 선 제거
- Advanced > In minimal theme, how prominent should the tab outline be?: 0
6. Unicode 설정
- Profiles > Text > Unicode normalization form: NFC
'기타' 카테고리의 다른 글
[Window] 윈도우 10 한영키를 Capslock으로 변경하기 (2) | 2022.07.15 |
---|---|
[GitHub] 깃허브 프로필 꾸미기 - Daily Commit 통계 (1) | 2021.12.27 |
[기술면접] CS면접 - 네트워크 (0) | 2021.11.23 |
[기술면접] CS 기술면접 - 운영체제 (0) | 2021.11.19 |
[Mac] 아파치 톰캣 설치 (0) | 2021.08.28 |