๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์„ ์•„๋ฆ„๋‹ต๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

๋ชจ๋“  Linux ๋ฐฐํฌํŒ์—๋Š” ๊ธฐ๋Šฅ์ ์ด๊ณ  ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅํ•œ ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์—๋Š”, ๋•Œ๋กœ๋Š” ํ„ฐ๋ฏธ๋„ ์ž์ฒด์—๋„ ์•„๋ฆ„๋‹ต๊ฒŒ ๋ณด์ด๋„๋ก ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด์ง„ ํ…Œ๋งˆ๊ฐ€ ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ‘œ์ค€ ํ„ฐ๋ฏธ๋„(๋ชจ๋“  DE, ๋ชจ๋“  ๋ฐฐํฌํŒ)์„ ์•„๋ฆ„๋‹ต๊ณ  ๋™์‹œ์— ํŽธ๋ฆฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์œผ๋กœ ๋ฐ”๊พธ๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๊ธฐ๋ณธ ํ„ฐ๋ฏธ๋„์„ ํŽธ๋ฆฌํ•˜๊ณ  ์ฆ๊ฒ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”?

๊ธฐ๋Šฅ ์ถ”๊ฐ€

๋ช…๋ น ์…ธ

๋Œ€๋ถ€๋ถ„์˜ ๋ฐฐํฌํŒ์—๋Š” Bash๊ฐ€ ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ์›ํ•˜๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ด๋“  ๋งŒ๋“ค ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. Zsh. ์™œ?

  • ๋ˆ„๋ฅด๋ฉด ๋ช…๋ น์ด ์ž๋™ ์™„์„ฑ๋˜๋Š” ๊ณ ๊ธ‰ ๋ฉ”์ปค๋‹ˆ์ฆ˜ ๋˜๋Š” . Bash์™€ ๋‹ฌ๋ฆฌ ์ด๋ฅผ ๊ตฌ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ ๋ชจ๋“  ๊ฒƒ์ด ์ฆ‰์‹œ ์ตœ๊ณ  ์ˆ˜์ค€์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ธฐ์„ฑ ํ…Œ๋งˆ, ๋ชจ๋“ˆ, ํ”Œ๋Ÿฌ๊ทธ์ธ ๋“ฑ์ด ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ„ฐ๋ฏธ๋„ ์‚ฌ์šฉ์ž ์ •์˜ ๋ฐ ๊ฐœ์„  ๊ฐ€๋Šฅ์„ฑ์„ ํฌ๊ฒŒ ํ™•์žฅํ•˜๋Š” ํ”„๋ ˆ์ž„์›Œํฌ(oh-my-zsh, prezto ๋“ฑ)๋ฅผ ํ†ตํ•œ ์‚ฌ์šฉ์ž ์ •์˜ ๊ฐ€๋Šฅ์„ฑ. ๋‹ค์‹œ ๋งํ•˜์ง€๋งŒ, ์ด ๋ชจ๋“  ๊ฒƒ์€ Bash์—์„œ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์ง€๋งŒ Zsh๋ฅผ ์œ„ํ•ด ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์Šต๋‹ˆ๋‹ค. Bash์˜ ๊ฒฝ์šฐ ๊ทธ ์ˆ˜๊ฐ€ ํ›จ์”ฌ ์ ๊ณ  ์ผ๋ถ€๋Š” ์ „ํ˜€ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์ œ๊ฐ€ Bash์—์„œ Zsh๋กœ ์ „ํ™˜ํ•œ ์ฃผ๋œ ์ด์œ ์ž…๋‹ˆ๋‹ค. ์ด ์™ธ์—๋„ Zsh์—๋Š” ๋‹ค๋ฅธ ๋งŽ์€ ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Zsh ์„ค์ •

๋จผ์ € Zsh๋ฅผ ์„ค์น˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค(์˜ˆ๋ฅผ ๋“ค์–ด Manjaro์™€ ๊ฐ™์ด ์ด๋ฏธ ์„ค์น˜๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค).

sudo apt install zsh

Zsh๋ฅผ ๊ธฐ๋ณธ ์…ธ๋กœ ์„ค์น˜ํ•˜๋ผ๋Š” ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ๋‹ค์Œ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. Yํ™•์ธ.

์•„ - ๋‚ด - zsh์„ ํ„ฐ๋ฏธ๋„ ์‰˜์„ ์œ ์—ฐํ•˜๊ฒŒ ์‚ฌ์šฉ์ž ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ธ๊ธฐ ์žˆ๊ณ  ํ™œ๋ฐœํ•˜๊ฒŒ ๊ฐœ๋ฐœ ์ค‘์ธ Zsh ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค. ์„ค์น˜ํ•ด ๋ด…์‹œ๋‹ค:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

zsh: ๋ช…๋ น์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: ์ปฌ
์„ธํŠธ curl:

sudo apt install curl

๊ตฌ๋ฌธ ๊ฐ•์กฐ. ๋ช…๋ น์˜ ์—ฌ๋Ÿฌ ๋ถ€๋ถ„์ด ์„œ๋กœ ๋‹ค๋ฅธ ์ƒ‰์ƒ์œผ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋˜๋ฉด ํ„ฐ๋ฏธ๋„ ๋‚ด์šฉ์„ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋””๋ ‰ํ„ฐ๋ฆฌ์—๋Š” ๋ฐ‘์ค„์ด ๊ทธ์–ด์ง€๊ณ  ๋ช…๋ น์€ ์ผ๋ฐ˜ ํ…์ŠคํŠธ์™€ ๋‹ค๋ฅธ ์ƒ‰์ƒ์œผ๋กœ ๊ฐ•์กฐ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์„ค์น˜ํ•ด๋ณด์ž zsh-syntax-highlighting:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

zsh: ๋ช…๋ น์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค: git
Git์„ ์„ค์น˜ํ•˜์„ธ์š”:

sudo apt install git

ํ”Œ๋Ÿฌ๊ทธ์ธ์ด ์ž‘๋™ํ•˜๋ ค๋ฉด ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŒŒ์ผ์—์„œ ~/.zshrc ์ค„์„ ๋ฐ”๊พธ๋‹ค plugins=:

plugins=(git zsh-syntax-highlighting)

ํ•ด๋‹น ์ค„์ด ์—†์œผ๋ฉด ์ถ”๊ฐ€ํ•˜์„ธ์š”.

์ค€๋น„๊ฐ€ ๋œ! ์šฐ๋ฆฌ๋Š” ํŽธ๋ฆฌํ•˜๊ณ  ๊ธฐ๋Šฅ์ ์ธ ํ„ฐ๋ฏธ๋„์„ ์–ป์Šต๋‹ˆ๋‹ค. ์ด์ œ ์‹œ๊ฐ์ ์œผ๋กœ ์ฆ๊ฒ๊ฒŒ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ชจ์–‘ ์‚ฌ์šฉ์ž ์ •์˜

ํ…Œ๋งˆ ์„ค์น˜ ์ „๋ ฅ๋ ˆ๋ฒจ10K:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

์‹œ์Šคํ…œ์— ๊ธ€๊ผด์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  ์ถ”๊ฐ€ํ•˜์„ธ์š”. JetBrains Mono Nerd (์•„์ด์ฝ˜ ํฌํ•จ):
๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์„ธ์š”. ๋ชฉ๋ก, ํด๋”์— ัˆั€ะธั„ั‚/complete ๊ธ€๊ผด ์„ ํƒ ะฑะตะท "Windows ํ˜ธํ™˜", "Mono"๋กœ ๋๋‚ฉ๋‹ˆ๋‹ค.

๊ธ€๊ผด๊ณผ ํ…Œ๋งˆ๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘ ~/.zshrc.

ํŒŒ์ผ์— ์ด๋ฏธ ์ด๋Ÿฌํ•œ ์ค„์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ํ•ด๋‹น ์ค„์„ ๋ฐ”๊พธ์‹ญ์‹œ์˜ค.

  • ZSH_THEME="powerlevel10k/powerlevel10k"
  • POWERLEVEL9K_MODE="nerdfont-complete"

๊ทธ๋ฆผ ๋ฌผ๊ฐ. ๋‹จ๋ง๊ธฐ ๋””์ž์ธ์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์€ ์ƒ‰ ๊ตฌ์„ฑํ‘œ์ž…๋‹ˆ๋‹ค. ๋‹ค์–‘ํ•œ ๊ณ„ํš์„ ์„ธ์šฐ๊ณ  ํŽธ์ง‘ํ•œ ๋์— Monokai Dark์— ์ •์ฐฉํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ˆˆ์ด ์•„ํ”„์ง€ ์•Š๊ณ  ์พŒ์ ํ•˜๊ณ  ๋ฐ์Šต๋‹ˆ๋‹ค. ์ƒ‰์ƒ ๋ชฉ๋ก:

[colors]

# special
foreground      = #e6e6e6
foreground_bold = #e6e6e6
cursor          = #fff
background      = #000

# black
color0  = #75715e
color8  = #272822

# red
color1  = #f92672
color9  = #f92672

# green
color2  = #a6e22e
color10 = #a6e22e

# yellow
color3  = #434648
color11 = #7ea35f

# blue
color4  = #66d9ef
color12 = #66d9ef

# magenta
color5  = #ae81ff
color13 = #ae81ff

# cyan
color6  = #adb3b9
color14 = #62ab9d

# white
color7  = #2AA198
color15 = #2AA198

์ƒ‰ ๊ตฌ์„ฑํ‘œ๋Š” ํ„ฐ๋ฏธ๋„๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋ณ€๊ฒฝ๋˜์ง€๋งŒ(๋ณดํ†ต ํ„ฐ๋ฏธ๋„ ์„ค์ •์„ ํ†ตํ•ด ๋ณ€๊ฒฝ๋จ) ์ƒ‰ ์ˆœ์„œ๋Š” ๋ชจ๋“  ๊ณณ์—์„œ ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ์ด ํ…œํ”Œ๋ฆฟ์„ Termite ํ˜•์‹์œผ๋กœ ๊ฐ€์ ธ์˜ค๊ณ  Terminal.sexy๋ฅผ ํ†ตํ•ด ํ„ฐ๋ฏธ๋„์šฉ์œผ๋กœ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ…Œ๋งˆ ๊ตฌ์„ฑ์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. p10k configure.
๊ฐ€์žฅ ๋งˆ์Œ์— ๋“œ๋Š” ๋””์Šคํ”Œ๋ ˆ์ด ์˜ต์…˜์„ ์„ ํƒํ•˜์—ฌ ํ…Œ๋งˆ๋ฅผ ๋งž์ถค์„ค์ •ํ•˜์„ธ์š”.

๋งˆ์ง€๋ง‰ ํ„ฐ์น˜๋Š” ํ…Œ๋งˆ ๊ตฌ์„ฑ์„ ๋ณ€๊ฒฝํ•˜๊ณ  ๊ธฐ๋ณธ ์ œ๊ณต ์ƒ‰์ƒ์„ ๋ฐ”๊พธ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

ํŒŒ์ผ ํŽธ์ง‘ ~/.p10k.zsh.

ํŒŒ์ผ์— ์ด๋ฏธ ์ด๋Ÿฌํ•œ ์ค„์ด ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉด ํ•ด๋‹น ์ค„์„ ๋ฐ”๊พธ์‹ญ์‹œ์˜ค. ์ƒ‰์ƒ ์ฝ”๋“œ๋Š” ๋ช…๋ น์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'n'}; done

  • ํ˜„์žฌ ๋””๋ ‰ํ„ฐ๋ฆฌ๋งŒ ํ‘œ์‹œ:
    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • ๋””๋ ‰ํ„ฐ๋ฆฌ ๋ธ”๋ก ๋ฐฐ๊ฒฝ:
    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • ํ™”์‚ดํ‘œ ์ƒ‰์ƒ:
    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2

    ะธ

    typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1

  • Git ๋ธŒ๋žœ์น˜ ๋ฐฐ๊ฒฝ:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

๊ฒฐ๊ณผ

๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์„ ์•„๋ฆ„๋‹ต๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ
์˜ค๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค
๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์„ ์•„๋ฆ„๋‹ต๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ
ํž˜๋‚ด:
๋ฆฌ๋ˆ…์Šค ํ„ฐ๋ฏธ๋„์„ ์•„๋ฆ„๋‹ต๊ณ  ํŽธ๋ฆฌํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ

์†Œ์Šค

PowerLevel10K ๋ฌธ์„œ
์˜จ๋ผ์ธ ํ„ฐ๋ฏธ๋„ ์ƒ‰ ๊ตฌ์„ฑํ‘œ ๋””์ž์ด๋„ˆ
Bash์™€ Zsh์˜ ์ฐจ์ด์ 

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€