인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

eventures111님의 프로필 이미지
eventures111

작성한 질문수

처음하는 파이썬 백엔드 FastAPI 부트캠프 (FastAPI부터 비동기 SQLAlchemy까지) [풀스택 Part1-2]

강의 준비를 위한 FastAPI 개발 환경 설정

터미널에서 uvicorn명령어 칠때 자동완성

작성

·

22

0

자동완성 되시던데요. 어떤 확장프로그램쓰시는걸까요

답변 1

0

안녕하세요. 답변 도우미입니다.

사실 ㅎㅎ 왜 자동완성이 되는지 정확히 기억이 나지는 않는데요. 아마도 맥 환경에서 items2 터미널 프로그램에 oh-my-zsh 를 설치해서 그런 것 같아요.

관련 가이드는 다음 블로그가 조금 깔끔하게 나와있는 것 같고요.

https://medium.com/harrythegreat/oh-my-zsh-iterm2%EB%A1%9C-%ED%84%B0%EB%AF%B8%EB%84%90%EC%9D%84-%EB%8D%94-%EA%B0%95%EB%A0%A5%ED%95%98%EA%B2%8C-a105f2c01bec

 

따로도 다음과 같이 가이드 참고해보셔도 좋을 것 같습니다.


1. iTerm2 설치

  1. iTerm2 다운로드

  2. 설정 확인

    • iTerm2를 실행하면, 기본적으로 macOS에서 설정된 기본 Shell을 사용합니다.

    • 이후 zsh를 기본 Shell로 설정할 것이므로, 추가적으로 iTerm2에서 특별한 설정을 하지 않아도 됩니다. (iTerm2 > Preferences > Profiles > General 탭에서 “Command:” 항목이 “Login shell”로 설정되어 있는지 확인)


2. zsh 기본 셸로 설정

macOS Catalina(10.15) 이후부터는 기본 셸이 zsh로 설정되어 있지만, 혹시 아래와 같이 확인해 볼 수 있습니다.

  1. zsh 설치 여부 확인

    which zsh
    • 일반적으로 /bin/zsh 혹은 Homebrew를 통해 /usr/local/bin/zsh(Intel Mac) 또는 /opt/homebrew/bin/zsh(Apple Silicon Mac)에 설치되어 있을 수 있습니다.

    • zsh가 설치되어 있지 않으면, Homebrew로 설치할 수 있습니다:

      brew install zsh
  2. 기본 셸을 zsh로 설정

    chsh -s /bin/zsh

    (Apple Silicon 환경에서 Homebrew 설치 경로가 다를 경우 /opt/homebrew/bin/zsh 등을 사용) 셸 재시작 혹은 iTerm2 다시 실행 후, 다음으로 진행합니다.


3. oh-my-zsh 설치

oh-my-zsh는 zsh 환경을 좀 더 편리하고 강력하게 만들어주는 프레임워크입니다.

  1. oh-my-zsh 설치 스크립트 실행

    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
    • 설치가 완료되면, ~/.zshrc 파일이 자동 생성되며, oh-my-zsh 설정이 적용됩니다.

  2. 설치 확인

    • 터미널(혹은 iTerm2)을 재실행하면 oh-my-zsh의 기본 테마(“robbyrussell” 등)가 적용된 상태일 것입니다.

    • echo $ZSH 명령어로 oh-my-zsh 설치 경로(기본적으로 ~/.oh-my-zsh)를 확인할 수 있습니다.


4. zsh 명령어 자동완성(autosuggestion) 설정

zsh에서 명령어 히스토리를 기반으로 “자동으로” 제안해주는 기능을 사용할 수 있습니다. 이를 위해 가장 많이 사용되는 플러그인이 zsh-autosuggestions입니다.

4.1 Homebrew 또는 Git으로 zsh-autosuggestions 설치

방법 1) Homebrew로 설치

brew install zsh-autosuggestions

설치가 완료되면, 보통 다음 경로에 플러그인이 위치합니다.

  • Intel Mac: /usr/local/share/zsh-autosuggestions

  • Apple Silicon Mac: /opt/homebrew/share/zsh-autosuggestions

방법 2) Git으로 설치

git clone https://github.com/zsh-users/zsh-autosuggestions \
  $ZSH_CUSTOM/plugins/zsh-autosuggestions

$ZSH_CUSTOM 변수에 기본적으로 ~/.oh-my-zsh/custom가 설정되어 있으므로, 그 안에 플러그인이 클론됩니다.

4.2 oh-my-zsh 플러그인 활성화

  1. .zshrc 수정

    • 편집기(vi, nano 등)로 ~/.zshrc를 열고, plugins=(...) 섹션 안에 zsh-autosuggestions를 추가합니다.

    plugins=(
      git
      zsh-autosuggestions
      # ... 다른 플러그인 ...
    )
  2. 플러그인 로드 확인

    • 만약 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에 설치되어 있는 플러그인을 자동으로 불러옵니다.

  3. 설정 적용

    • 설정 파일을 다시 읽어들여 적용합니다.

      source ~/.zshrc
    • 새로운 터미널 세션(iTerm2 새 창)을 열거나, 해당 명령어를 실행한 후부터는 자동완성 제안이 표시됩니다.

4.3 자동완성 텍스트 컬러 변경(옵션)

  • 자동완성으로 표시되는 제안 텍스트는 다소 흐리게(연한 회색 등) 표시되는 경우가 많습니다.

  • .zshrc

    에서 아래 변수를 설정해 색상을 조절할 수 있습니다:

    # 예: 연한 회색으로 제안 표시
    ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=8'
  • 혹은 다른 색상을 원하면 fg=yellow, fg=cyan 등으로 조절이 가능합니다.


5. 추천 추가 플러그인: zsh-syntax-highlighting

명령어 자동완성 외에도, 명령어 구문을 실시간으로 하이라이팅 해주는 플러그인도 많이 사용됩니다.

  1. 설치 (Git으로 설치 예시)

    git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
      $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
  2. .zshrc 수정

    plugins=(
      git
      zsh-autosuggestions
      zsh-syntax-highlighting
    )
    • zsh-syntax-highlighting는 마지막에 로드되도록 배치하는 것이 좋습니다. (다른 플러그인 로드 후에)

  3. 설정 적용

    source ~/.zshrc
    • 명령어를 입력할 때, 유효한 명령어는 녹색, 잘못된 구문은 빨간색 등으로 하이라이팅 되는 것을 확인할 수 있습니다.


6. 마무리: 사용 예시

  1. 터미널(또는 iTerm2)에 brew i까지만 입력하면, 과거에 입력한 명령어(예: brew install python)가 옅은 회색 텍스트로 자동 제안됩니다.

  2. 오른쪽 화살표(→) 키나 Ctrl + F 등을 눌러 제안된 명령어를 한 번에 완성할 수 있습니다.

  3. zsh-syntax-highlighting을 설치한 경우, 명령어를 입력할 때마다 구문에 따라 색상이 바뀌어 가독성이 높아집니다.


요약

  1. iTerm2 설치 및 실행

  2. zsh를 기본 셸로 설정 (Catalina 이상은 기본적으로 zsh)

  3. oh-my-zsh 설치 (자동 설정 편리)

  4. zsh-autosuggestions(자동완성 플러그인) 설치 및 ~/.zshrc에서 활성화

  5. (옵션) zsh-syntax-highlighting(구문 하이라이팅) 설치

  6. .zshrc를 수정 후 source ~/.zshrc로 설정 적용

이 과정을 모두 거치면, iTerm2에서 oh-my-zsh를 사용하며, 히스토리 기반 자동완성, 구문 하이라이팅 등의 편리한 기능을 이용할 수 있게 됩니다.

 

감사합니다. 요즘은 cursor 에디터도 많이 쓰는데 터미널까지 자동완성이 설정안해도 자동지원해주는지는 잘 모르겠지만, cursor 에디터도 한번 활용해보셔도 좋을 것 같습니다.

eventures111님의 프로필 이미지
eventures111

작성한 질문수

질문하기