상세 컨텐츠

본문 제목

[MacOS - ZSH] 유용한 플러그인 2종 - 자동완성/하이라이트

IT 이야기/IT 상식

by 리치윈드 - windFlex 2022. 10. 20. 22:28

본문

반응형
맥북 M1 Pro로 PC를 변경했습니다. 세팅할게 많네요 ^^

2020.06.01 - [IT 이야기/IT 상식] - [맥북] 맥북 터미널을 이쁘게 - ZSH 초간단 설치와 커스터마이징 (zhs + iTerm2)

 

ZSH 플러그인 : 자동완성 (AutoSuggestion), 하이라이트 (Syntax Highlighting)

 

ZSH 의 유용한 플러그인 2종 - AutoSuggestion, Highlighting

ZSH을 취향에 맞는 테마로 구성했다면, 몇가지 유용한 Plugin을 설치할 수 있다. 대표적으로, 자동 완성과 하이라이팅 플러그인 이다.  거의 필수적으로 사용되는 플러그인이다. Oh-My-ZSH을 사용하는 경우, 매우 쉽게 Plugins 기능을 설치/적용할 수 있다. 

     1) 자동완성 플러그인 : AutoSuggestions

     2) 하이라이팅 플러그인 : Syntax Highlighting

 

설치하고자 하는 각 플러그인의 기능을 먼저 살펴 보자. 

 

자동완성 (AutoSuggestions)는 아래와 같이 한번 타이핑한 명령어를 "회색"으로 미리 제안 해 주는 기능을 제공한다. 

AutoSuggestion

하이라이팅 (Syntax Hightlighting) 플러그인은 아래와 같이 명령어와 문자열 등 문맥에 맞게 구분하여 색상을 달리 표현해 주는 기능을 제공한다. 

 

ZSH 플러그인 (Plugins) 설치 방법

 

그래서 플러그인을 어떻게 설치하는데?

 

Oh-My-ZSH을 사용한다면, Plugin을 적용하는 것은 매우 간단하다. 

단계는 두 단계를 진행하면 된다.

  • 1)플러그인 소스 다운로드
  • 2) .zshrc파일에 플러그인 등록.
  • 3) 만약 플러그인이 제대로 동작하지 않을 경우, .zshrc 파일에서 수동 실행 (source)하는 방법 

상세한 내용은 각 플러그인에서 다시 거론하겠다. 우선 여기서는 큰그림에서 순서 정도로만 생각하면 된다. 


1) 플러그인 소스코드 다운로드 (Original)

  • 소스코드를 브라우저에서 다운로드 받거나, 혹은 "Git clone" 명령어로 git에서 직접 내려 받을 수 있다. 

[ 플러그인 소스코드 Github ]

[ 필자 추천 방법 ] 

2) .zshrc 파일에 플러그인 등록

  • ~/.zshrc 파일을 열어서, 다음과 같이 플러그인을 설정해 준다.  
  • 기본값으로 " plugins=( git ) " 으로 되어 있다. 아래와 같이 본인이 사용할 플러그인 이름 (폴더명)과 동일하게 추가해 주면 된다. 
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
plugins 지정은 필수적으로 "source ~/.zshrc" 실행보다 위에 표기되어 있어야 한다. 

전체적인 흐름에 대해서 알아 보았다. 사실 쉽게 문제가 풀린다면, 윗 내용으로만 으로도 플러그인 적용이 될 것이다. 그러나, 때로는 문제가 잘 풀리지 않을 때가 있다. 그렇다면, 아래 각 플러그인 상세 내용을 참조하도록 하자.

 

 

ZSH 자동 완성 (AutoSuggestions)

자동완성이라고 소개한 플러그인은, Github에 공개된 플러그인으로, "zsh-autosuggestions" 이다.

(출처 : https://github.com/zsh-users/zsh-autosuggestions )

동작하는 결과는 다음과 같다. 과거에 실행한 명령이 있다면, 회색으로 아래와 같이 미리 자동완성으로 보여 준다. 

 

설치하는 방법은, 위에서 소개한 단계와 같이 두 단계로 이루어져 있다. 이 두단계를 상세하게 살펴보자. 

Step 1) Git clone으로 다운로드 받는다. Step 2) .zshrc에 자동으로 실행하도록 rc에 등록해 준다. 

 

1) git 소스 다운로드

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

2) ~/.zshrc 추가

.zshrc 파일을 잘 살표 보면 "plugins= ( git )" 이라고 이미 표기된 곳이 있다. 따라서, 기본적으로는 "추가"가 아니라 "수정"이 되는 것이 정확한 표현이다. 공식 Github에는 다음과 같이 설정하라고 가이드 되어 있다. 

plugins=( 
    # other plugins...
    zsh-autosuggestions
)

그러나 대부분의 경우는 다음과 같이 설정하면 된다. 먼저 "plugins=" 라고 되어 있는 부분을 찾기 바란다. 

plugins=(git zsh-autosuggestions)
[ 중요 ]

중요한점은 .zshrc 파일에서의 "plugins"의 위치이다. 이 위치는 "source ~/.zshrc" 실행라인 보다 위에 위치해야 한다. 대부분 plugins가 동작하지 않는 이유는 이 부분이 잘못 되어 있기 때문이다. 

 

만약 위의 plugins가 동작하지 않는다면, ~/.zshrc에서 직접 실행 ( source xxx.sh)가 실행되도록 수동 설정하면 된다. 수동 설정은 아래를 참조하여 진행하면 된다. 

3) 수동 적용의 경우 (위의 plugins가 동작하지 않는 경우)

 

~/.zshrc 마지막 항목에 아래 라인을 추가해 준다.  (위의 plugins 항목은 삭제해 준다.)

source <autosuggestions의 위치>/zsh-autosuggestions.zsh
<autosuggestions의 위치>는 github로 다운로드 받은 경로를 적어 준다. 필자의 경우는 아래와 같다. 

 

source ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh

 

4) ZSH을 다시 시작해 준다. 

 

터미널을 다시 시작해 주거나 `source ~/.zshrc`를 실행해 주면 다음과 같이 "자동완성"이 동작하는 것을 확인 할 수 있다. 

ZSH의 자동완성 동작 화면 (Autosuggestions)

 


 

하이라이팅 (Syntax Highlighting)

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" 을 추가해 준다. 결과적으로, plugins는 아래와 같을 것이다. 
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

아래는 자동완성과 하이라이팅이 실행된 결과의 모습니다.  명령어는 별도로 하이라이팅 된 색상을 보이며, 다음 명령어는 자동완성이 되어 있는 것을 확인할 수 있다. 

 

 


2020.06.01 - [IT 이야기/IT 상식] - [맥북] 맥북 터미널을 이쁘게 - ZSH 초간단 설치와 커스터마이징 (zhs + iTerm2)

 

[ 관련 글] 

 

2022.11.07 - [IT 이야기] - [Mac OS] 배터리 충전 관리 (limiter) - ft. AlDente

2022.11.07 - [IT 이야기/IT 상식] - [맥북 Ventura] 배터리 잔량 퍼센트 보기 - ft. 제어 센터

2022.10.31 - [IT 이야기/IT 상식] - [MacOS] 백틱(`) 입력 - 원화(₩)입력 변경 to BQuote(`)

2022.10.20 - [IT 이야기/IT 상식] - [MacOS - ZSH] 유용한 플러그인 2종 - 자동완성/하이라이트

2022.07.25 - [IT 이야기] - [Mac+Chrome] 구글 독스 한글 깨짐 현상 (자/모분리)

2022.06.29 - [IT 이야기/IT 상식] - [맥북-NTFS] 맥북에서 윈도우 외장하드(NTFS) 쓰기(mount) - 모든버전 사용 가능

2021.01.21 - [IT 이야기/IT 상식] - 맥(MacOS)에서 특수문자/한자 입력 하기 -☆ ★ ○ ●

 

 

반응형

관련글 더보기

댓글 영역