๐Ÿ–ฅ ๋‚˜๋งŒ์˜ Terminal ์„ค์ •ํ•˜๊ธฐ !

2021๋…„ 8์›” 24์ผ

๋“ค์–ด๊ฐ€๋ฉฐ

๊ฐœ๋ฐœ์„ ํ•˜๋‹ค๋ณด๋ฉด terminal์—์„œ ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋‚ด๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์—ฌ์ง€๋Š” ๊ฒƒ๋„ ์ด์˜๊ฒŒ ! ๋‚˜๋งŒ์˜ ์Šคํƒ€์ผ๋กœ ์ปค์Šคํ…€ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜๋ฉด ์ข‹๊ฒ ์ฃ ? ๐Ÿคก

Overview

overview

Pre-setting

โœ… ย  zsh ์„ค์น˜

โœ… ย  Oh my ZSH ์„ค์น˜

โœ… ย  iterm2 ์„ค์น˜

POWERLEVEL10K ์„ค์น˜

์ €ํฌ๊ฐ€ ์‚ฌ์šฉํ•  terminal theme๋Š” POWERLEVEL10K ์ž…๋‹ˆ๋‹ค.

ํ•ด๋‹น ํ…Œ๋งˆ์˜ ์ž์„ธํ•œ ์„ค๋ช…์€ POWERLEVEL10K๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์„ธ์š” !

install

$ git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k

๋จผ์ € ์œ„์˜ repo๋ฅผ ๋กœ์ปฌ๋กœ ๋ฐ›์•„์˜ต๋‹ˆ๋‹ค.

๊ทธ ํ›„ root ๊ฒฝ๋กœ์˜ `~/.zshrc'๋ฅผ ์—ด์–ด ํŽธ์ง‘์„ ํ•ด์ค๋‹ˆ๋‹ค.

...
ZSH_THEME="powerlevel10k/powerlevel10k"
...

config

$ p10k configure

config

์œ„์˜ ๋ช…๋ น์–ด๋กœ ๊ธฐ๋ณธ config๋ฅผ ์„ค์ •ํ•ด์ฃผ์‹œ๋ฉด ์™„๋ฃŒ์ž…๋‹ˆ๋‹ค ๐Ÿ˜Ž

custom

๊ธฐ๋ณธ ์„ค์ • ์™ธ์— ์‚ฌ์šฉ์ž ๊ฐ์ž์˜ ์„ฑํ–ฅ / ๊ธฐํ˜ธ์— ๋งž๊ฒŒ custom ์„ค์ •์„ ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ~/.p10k.sh๋ฅผ ์ˆ˜์ •ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

userIcon

์œ„์˜ ์‚ฌ์ง„ ์ฒ˜๋Ÿผ ์™ผ์ชฝ prompt์˜ user ์™ผ์ชฝ์— emoji๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ๋‹ค๋ผ๊ณ  ํ•˜๋ฉด ์œ„์˜ shell์„ ์ˆ˜์ •ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

$ vim ~/.p10k.sh

๊ทธ ํ›„ POWERLEVEL9K_LEFT_PROMPT_ELEMENTS๋ฅผ ์ฐพ์•„ ๊ฐ‘๋‹ˆ๋‹ค.

prompt_left

prompt๋ž€? ์ปดํ“จํ„ฐ๊ฐ€ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“œ๋ฆด ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ์ƒํƒœ๋ฅผ ์•Œ๋ ค์ฃผ๋Š” ์ฐฝ์ž…๋‹ˆ๋‹ค. POWERLEVEL10K์—์„œ๋Š” LEFT, RIGHT๋ฅผ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ๋ถ€๋ถ„์„ ์ง์ ‘ custom ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ € ๋ถ€๋ถ„ ๋ฐ‘์— ์•„๋ž˜์˜ ์ฝ”๋“œ๋ฅผ ์ ์–ด์ฃผ์„ธ์š”.

$ typeset -g POWERLEVEL9K_USER_ICON="๐Ÿ‘ป"

emoji๋Š” ์›ํ•˜์‹œ๋Š” emoji๋ฅผ ๋„ฃ์–ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๊ทธ ํ›„ ํ•ด๋‹น shell์„ ์ ์šฉ์‹œํ‚ค๋ฉด ์ •์ƒ์ ์œผ๋กœ ์ ์šฉ๋œ ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์™€ ๊ฐ™์ด ์ง์ ‘ ์›ํ•˜๋Š” custom์„ ์ ์šฉ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š”๋ฐ, ํ•ด๋‹น ๋‚ด์šฉ์€ POWERLEVEL10K ๊ณผ POWERLEVEL9K ๋ฅผ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค !

Status bar Setting

์ œ ํ„ฐ๋ฏธ๋„ ํ™˜๊ฒฝ์„ ๋ณด์‹œ๋ฉด ์—ฌ๋Ÿฌ ์ƒํƒœ๋“ค์„ ๋ณด์—ฌ์ฃผ๋Š” ์ƒํƒœ์ฐฝ์ด ํ„ฐ๋ฏธ๋„ ํ•˜๋‹จ์— ์„ค์ •๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

iterm2 > Profiles > Session > Status bar enabled  

statausBar

์›ํ•˜์‹œ๋Š” status๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๊ฒŒ Active Components ๋ถ€๋ถ„์œผ๋กœ ๋“œ๋ž˜๊ทธ ํ•ด์ฃผ์‹  ํ›„ ์žฌ์‹คํ–‰ํ•ด์ฃผ์‹œ๋ฉด ์ •์ƒ์ ์œผ๋กœ status bar๊ฐ€ ์ ์šฉ๋œ ๊ฒƒ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค !