답변 1
0
안녕하세요. 답변 도우미입니다.
사실 ㅎㅎ 왜 자동완성이 되는지 정확히 기억이 나지는 않는데요. 아마도 맥 환경에서 items2 터미널 프로그램에 oh-my-zsh 를 설치해서 그런 것 같아요.
관련 가이드는 다음 블로그가 조금 깔끔하게 나와있는 것 같고요.
따로도 다음과 같이 가이드 참고해보셔도 좋을 것 같습니다.
1. iTerm2 설치
iTerm2 다운로드
iTerm2 공식 사이트에서 최신 버전을 다운로드하여 설치합니다.
설정 확인
iTerm2를 실행하면, 기본적으로 macOS에서 설정된 기본 Shell을 사용합니다.
이후 zsh를 기본 Shell로 설정할 것이므로, 추가적으로 iTerm2에서 특별한 설정을 하지 않아도 됩니다. (iTerm2 > Preferences > Profiles > General 탭에서 “Command:” 항목이 “Login shell”로 설정되어 있는지 확인)
macOS Catalina(10.15) 이후부터는 기본 셸이 zsh로 설정되어 있지만, 혹시 아래와 같이 확인해 볼 수 있습니다.
zsh 설치 여부 확인
which zsh
일반적으로 /bin/zsh
혹은 Homebrew를 통해 /usr/local/bin/zsh
(Intel Mac) 또는 /opt/homebrew/bin/zsh
(Apple Silicon Mac)에 설치되어 있을 수 있습니다.
zsh가 설치되어 있지 않으면, Homebrew로 설치할 수 있습니다:
brew install zsh
기본 셸을 zsh로 설정
chsh -s /bin/zsh
(Apple Silicon 환경에서 Homebrew 설치 경로가 다를 경우 /opt/homebrew/bin/zsh
등을 사용) 셸 재시작 혹은 iTerm2 다시 실행 후, 다음으로 진행합니다.
oh-my-zsh는 zsh 환경을 좀 더 편리하고 강력하게 만들어주는 프레임워크입니다.
oh-my-zsh 설치 스크립트 실행
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
설치가 완료되면, ~/.zshrc
파일이 자동 생성되며, oh-my-zsh 설정이 적용됩니다.
설치 확인
터미널(혹은 iTerm2)을 재실행하면 oh-my-zsh의 기본 테마(“robbyrussell” 등)가 적용된 상태일 것입니다.
echo $ZSH
명령어로 oh-my-zsh 설치 경로(기본적으로 ~/.oh-my-zsh
)를 확인할 수 있습니다.
zsh에서 명령어 히스토리를 기반으로 “자동으로” 제안해주는 기능을 사용할 수 있습니다. 이를 위해 가장 많이 사용되는 플러그인이 zsh-autosuggestions입니다.
brew install zsh-autosuggestions
설치가 완료되면, 보통 다음 경로에 플러그인이 위치합니다.
Intel Mac: /usr/local/share/zsh-autosuggestions
Apple Silicon Mac: /opt/homebrew/share/zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
$ZSH_CUSTOM/plugins/zsh-autosuggestions
$ZSH_CUSTOM
변수에 기본적으로 ~/.oh-my-zsh/custom
가 설정되어 있으므로, 그 안에 플러그인이 클론됩니다.
.zshrc
수정
편집기(vi, nano 등)로 ~/.zshrc
를 열고, plugins=(...)
섹션 안에 zsh-autosuggestions
를 추가합니다.
plugins=(
git
zsh-autosuggestions
# ... 다른 플러그인 ...
)
플러그인 로드 확인
만약 Homebrew 경로가
/opt/homebrew/share/zsh-autosuggestions
처럼 oh-my-zsh가 자동으로 인식하지 못하는 경로에 있다면, 아래처럼
.zshrc
끝부분에 별도의
fpath
설정을 추가할 수도 있습니다.
# Apple Silicon 예시
fpath+=( /opt/homebrew/share/zsh-autosuggestions )
보통은 oh-my-zsh가 $ZSH_CUSTOM/plugins/zsh-autosuggestions
에 설치되어 있는 플러그인을 자동으로 불러옵니다.
설정 적용
설정 파일을 다시 읽어들여 적용합니다.
source ~/.zshrc
새로운 터미널 세션(iTerm2 새 창)을 열거나, 해당 명령어를 실행한 후부터는 자동완성 제안이 표시됩니다.
자동완성으로 표시되는 제안 텍스트는 다소 흐리게(연한 회색 등) 표시되는 경우가 많습니다.
.zshrc
에서 아래 변수를 설정해 색상을 조절할 수 있습니다:
# 예: 연한 회색으로 제안 표시
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
혹은 다른 색상을 원하면 fg=yellow
, fg=cyan
등으로 조절이 가능합니다.
명령어 자동완성 외에도, 명령어 구문을 실시간으로 하이라이팅 해주는 플러그인도 많이 사용됩니다.
설치 (Git으로 설치 예시)
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
$ZSH_CUSTOM/plugins/zsh-syntax-highlighting
.zshrc
수정
plugins=(
git
zsh-autosuggestions
zsh-syntax-highlighting
)
zsh-syntax-highlighting
는 마지막에 로드되도록 배치하는 것이 좋습니다. (다른 플러그인 로드 후에)
설정 적용
source ~/.zshrc
명령어를 입력할 때, 유효한 명령어는 녹색, 잘못된 구문은 빨간색 등으로 하이라이팅 되는 것을 확인할 수 있습니다.
터미널(또는 iTerm2)에 brew i
까지만 입력하면, 과거에 입력한 명령어(예: brew install python
)가 옅은 회색 텍스트로 자동 제안됩니다.
오른쪽 화살표(→) 키나 Ctrl + F
등을 눌러 제안된 명령어를 한 번에 완성할 수 있습니다.
zsh-syntax-highlighting
을 설치한 경우, 명령어를 입력할 때마다 구문에 따라 색상이 바뀌어 가독성이 높아집니다.
iTerm2 설치 및 실행
zsh를 기본 셸로 설정 (Catalina 이상은 기본적으로 zsh)
oh-my-zsh 설치 (자동 설정 편리)
zsh-autosuggestions(자동완성 플러그인) 설치 및 ~/.zshrc
에서 활성화
(옵션) zsh-syntax-highlighting(구문 하이라이팅) 설치
.zshrc
를 수정 후 source ~/.zshrc
로 설정 적용
이 과정을 모두 거치면, iTerm2에서 oh-my-zsh를 사용하며, 히스토리 기반 자동완성, 구문 하이라이팅 등의 편리한 기능을 이용할 수 있게 됩니다.
감사합니다. 요즘은 cursor 에디터도 많이 쓰는데 터미널까지 자동완성이 설정안해도 자동지원해주는지는 잘 모르겠지만, cursor 에디터도 한번 활용해보셔도 좋을 것 같습니다.