Alacritty Setting & Customization (Windows)

Jaewon Leeยท2024๋…„ 11์›” 9์ผ

CLI

๋ชฉ๋ก ๋ณด๊ธฐ
1/3

๐Ÿ’ก ์ฐธ๊ณ 
Alacritty๋Š” v0.13.0๋ถ€ํ„ฐ TOML ์„ค์ • ํŒŒ์ผ์„ ๊ธฐ๋ณธ์œผ๋กœ ์‚ฌ์šฉํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ YAML ํŒŒ์ผ์„ ์ง€์›์€ ํ•ฉ๋‹ˆ๋‹ค๋งŒ, ๊ถŒ์žฅ ๋ฐฉ์‹์„ ๋”ฐ๋ผ TOML๋กœ ์„ค์ • ํŒŒ์ผ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค. TOML ํŒŒ์ผ์˜ ์œ ํšจ์„ฑ ๊ฒ€์ฆ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์•„๋ž˜์˜ ๋งํฌ์— ํ†ตํ•ด ๊ฒ€์‚ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ’ก ์„ค์น˜
๊ณต์‹ ์›น์‚ฌ์ดํŠธ์—์„œ OS์— ๋”ฐ๋ฅธ ํŒŒ์ผ์„ ๋‹ค์šด ๋ฐ›๊ฑฐ๋‚˜ Terminal ๋ช…๋ น์–ด๋กœ๋„ ์ง์ ‘ ๋‹ค์šด ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. ํ˜„์žฌ ๊ตฌ์ถ•๋œ ๊ณ„์ธต์  ๋„๊ตฌ ์ฒด์ธ

Alacritty (ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ)
    โ””โ”€โ”€ tmux (ํ„ฐ๋ฏธ๋„ ๋ฉ€ํ‹ฐํ”Œ๋ ‰์„œ)
        โ””โ”€โ”€ shell (zsh/bash)
            โ””โ”€โ”€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ (vim, git ๋“ฑ)

CLI๋ฅผ ์ž˜ ์“ฐ๊ธฐ ์œ„ํ•ด ๊ณ„์† ๋ช…๋ น์–ด๋„ ์จ๋ณด๊ณ ... ํ”Œ๋Ÿฌ๊ทธ์ธ๋„ ์•Œ์•„๋ณด๊ณ  ๊ดœ์ฐฎ์€??(๋ฉ‹์žˆ์–ด ๋ณด์ด๋Š” ๐Ÿ˜Ž) ํ„ฐ๋ฏธ๋„ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋„ ์ฐพ๊ณ ๋ณด๊ณ ... ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ์ƒ๊ฐ์ด ๋“ค๋”๊ตฐ์š”.

"๋ญ๋ถ€ํ„ฐ ํ•ด์•ผํ•˜๋Š”๊ฑฐ์ง€?"

๊ทธ๋ž˜์„œ ์•Œ์•„๋ดค์Šต๋‹ˆ๋‹ค. CLI์˜ ์‹œ์ž‘์ ์ธ ์—๋ฎฌ๋ ˆ์ดํ„ฐ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ๊ฐ€๋ณด๋ ค ํ•ฉ๋‹ˆ๋‹ค.

  • Alacritty์™€ tmux๋ฅผ ๊ทธ๋ƒฅ ์“ฐ๋ฉด ํ‚ค๋ฐ”์ธ๋”ฉ ์ถฉ๋Œ์ด ๋ฐœ์ƒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์„ค์ •์„ ์ข€ ํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.
    <๋‘ ํ”„๋กœ๊ทธ๋žจ์ด ๋น„์Šทํ•œ ๊ธฐ๋Šฅ(์˜ˆ: ๋ณต์‚ฌ/๋ถ™์—ฌ๋„ฃ๊ธฐ, ์ฐฝ ๋ถ„ํ• )์„ ์ œ๊ณตํ•  ๋•Œ ํ‚ค๋ฐ”์ธ๋”ฉ์ด ์ถฉ๋Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐ ๋„๊ตฌ์˜ ์—ญํ• ์„ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.>

  • Alacritty์˜ ๋ฉ”์ธ ๊ธฐ๋Šฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ tmux์˜ ๊ธฐ๋Šฅ์„ ๋น„๊ตํ•˜๋ฉด์„œ ์–ด๋А ๋ถ€๋ถ„์„ ์“ธ์ง€๋ฅผ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค.

2. ๊ธฐ๋Šฅ ๋น„๊ต

Alacritty              tmux
-------------------------------
Alt+Enter (์ „์ฒดํ™”๋ฉด)  | Ctrl+b z (์ฐฝ ํ™•๋Œ€/์ถ•์†Œ)
Ctrl+Shift+c (๋ณต์‚ฌ)  | Ctrl+b [ (๋ณต์‚ฌ ๋ชจ๋“œ)
Alt+๋ฐฉํ–ฅํ‚ค (ํƒญ ์ด๋™)  | Ctrl+b ๋ฐฉํ–ฅํ‚ค (ํŒจ๋„ ์ด๋™)

Vi Mode

Alacritty:

  • GPU ๊ฐ€์†์œผ๋กœ ๋” ๋ถ€๋“œ๋Ÿฌ์šด ์Šคํฌ๋กค๋ง๊ณผ ์„ ํƒ
  • ํ„ฐ๋ฏธ๋„ ์ž์ฒด ์ˆ˜์ค€์—์„œ์˜ ๋น ๋ฅธ ๋ฐ˜์‘์„ฑ
  • ์‹œ์Šคํ…œ ํด๋ฆฝ๋ณด๋“œ์™€์˜ ์ง์ ‘์ ์ธ ํ†ตํ•ฉ

tmux:

  • Vi copy mode๊ฐ€ ์žˆ์ง€๋งŒ ์•ฝ๊ฐ„ ๋œ ๋ถ€๋“œ๋Ÿฌ์›€
  • ํด๋ฆฝ๋ณด๋“œ ํ†ตํ•ฉ์ด ์‹œ์Šคํ…œ์— ๋”ฐ๋ผ ์ถ”๊ฐ€ ์„ค์ • ํ•„์š”

โžก๏ธ Alacritty์˜ Vi Mode๋กœ ์„ ํƒ (Alacritty์˜ ๊ฐ€์žฅ ๋งค๋ ฅ์ ์ธ ๋ถ€๋ถ„!)

Alacritty:

  • ํ˜„์žฌ ์ฐฝ์—์„œ๋งŒ ๋™์ž‘
  • ์„ธ์…˜ ์ข…๋ฃŒ์‹œ ํžˆ์Šคํ† ๋ฆฌ ์†์‹ค

tmux:

  • ์„ธ์…˜ ๊ฐ„ ๊ฒ€์ƒ‰ ๋‚ด์šฉ ์œ ์ง€
  • ๊ฒ€์ƒ‰ ํžˆ์Šคํ† ๋ฆฌ ๊ด€๋ฆฌ
  • ์ •๊ทœ์‹ ๊ฒ€์ƒ‰ ์ง€์›
  • ํ•˜์ด๋ผ์ดํŒ… ๊ธฐ๋Šฅ

โžก๏ธ Search ๊ด€๋ จ์€ tmux ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์“ธ ๋“ฏ?

Regex Hints

Alacritty:

  • URL, IP ์ฃผ์†Œ ๋“ฑ ์‹ค์‹œ๊ฐ„ ๊ฐ์ง€
  • ๋งˆ์šฐ์Šค ํ˜ธ๋ฒ„ ์‹œ ์‹œ๊ฐ์  ํ”ผ๋“œ๋ฐฑ
  • ํ‚ค๋ณด๋“œ ๊ธฐ๋ฐ˜ ๋น ๋ฅธ ์ ‘๊ทผ

tmux:

  • ๊ธฐ๋ณธ์ ์ธ URL ์„ ํƒ ๊ธฐ๋Šฅ์€ ์žˆ์Œ
  • ํ•˜์ง€๋งŒ ๋œ ์ง๊ด€์ ์ด๊ณ  ์„ค์ •์ด ๋ณต์žก

โžก๏ธ Regx hits๋Š” Alacritty๋กœ ๊ฒฐ์ •

Multi-Window

Alacritty:

  • ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค๋กœ ๋ฆฌ์†Œ์Šค ํšจ์œจ์ 
  • ํ•˜์ง€๋งŒ ์„ธ์…˜ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๋ถ€์กฑ

tmux:

  • ์„ธ์…˜ ์œ ์ง€ ๋ฐ ๋ณต๊ตฌ
  • ๋” ํ’๋ถ€ํ•œ ์ฐฝ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ
  • ์›๊ฒฉ ์ ‘์†์‹œ์—๋„ ์•ˆ์ •์ 
  • ์„ธ์…˜ ๊ณต์œ  ๊ฐ€๋Šฅ

โžก๏ธ Multi-window๋Š” tmux๋กœ ๊ฒฐ์ •

๊ธฐ๋Šฅ ํ™œ์šฉ ์ •๋ฆฌ ์š”์•ฝ

Vi Mode์™€ Regex Hints๋Š” Alacritty์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ

  • ๋” ๋ถ€๋“œ๋Ÿฝ๊ณ  ๋ฐ˜์‘์„ฑ ์ข‹์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜
  • ์‹œ์Šคํ…œ ํ†ตํ•ฉ์ด ๋” ์ž์—ฐ์Šค๋Ÿฌ์›€

Search์™€ Multi-Window๋Š” tmux ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉ

  • ๋” ์•ˆ์ •์ ์ธ ์„ธ์…˜ ๊ด€๋ฆฌ
  • ๋” ํ’๋ถ€ํ•œ ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ
  • ์›๊ฒฉ ์ž‘์—…์‹œ ์•ˆ์ •์„ฑ

3. alacritty configuration setup

# 1. %APPDATA% ๊ฒฝ๋กœ๋กœ ์ด๋™ (๋ณดํ†ต C:\Users\[์‚ฌ์šฉ์ž๋ช…]\AppData\Roaming)
# Windows: %APPDATA%\alacritty\alacritty.toml
cd $env:APPDATA

# 2. alacritty ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š”์ง€ ํ™•์ธ
dir alacritty

# 3. alacritty ๋””๋ ‰ํ† ๋ฆฌ ์—†๋‹ค๋ฉด ์ƒ์„ฑ
mkdir alacritty

# 4. alacritty ๋””๋ ‰ํ† ๋ฆฌ๋กœ ์ด๋™
cd alacritty

# 5. ํ˜„์žฌ ์ƒํƒœ ํ™•์ธ (alacritty.toml ํŒŒ์ผ ์žˆ๋Š”์ง€)
dir

nvim alacritty.toml (์—†์œผ๋ฉด ์ƒ์„ฑํ•˜๋ฉด์„œ ํŽธ์ง‘๊ธฐ ์—ด๊ธฐ, ์„ ํ˜ธํ•˜๋Š” ์—๋””ํ„ฐ ์‚ฌ์šฉ ex: code, notepad)

# 6. themes ๋””๋ ‰ํ† ๋ฆฌ ํด๋ก 
git clone https://github.com/alacritty/alacritty-theme themes

# 6-1.ํ…Œ๋งˆ ์ €์žฅ์†Œ ์—…๋ฐ์ดํŠธํ•˜์—ฌ ์ตœ์‹  ํ…Œ๋งˆ ์œ ์ง€๋ฅผ ์›ํ•  ๋•Œ (alacritty ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์„ ๋•Œ & ์–ด๋А ์œ„์น˜๋“  ์ƒ๊ด€ ์—†์ด ์—…๋ฐ์ดํŠธ๋ฅผ ์›ํ•  ๋•Œ)
cd themes && git pull && cd ..
cd $env:APPDATA/alacritty/themes && git pull

directory structure

๊ธฐ๋ณธ์ ์ธ ๋””๋ ‰ํ† ๋ฆฌ ๋ฐ ํŒŒ์ผ ์…‹์—…์ด ๋๋‚˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

C:\Users\[์‚ฌ์šฉ์ž๋ช…]\AppData\Roaming\alacritty\
โ”œโ”€โ”€ alacritty.toml
โ””โ”€โ”€ themes\
    โ””โ”€โ”€ themes\
        โ”œโ”€โ”€ everforest_dark.toml
        โ”œโ”€โ”€ tokyo_night.toml
        โ””โ”€โ”€ [๋‹ค๋ฅธ ํ…Œ๋งˆ ํŒŒ์ผ๋“ค...]

alacritty.toml (๋˜๋Š” yaml)์— ํ•„์š”ํ•œ ์„ค์ •์„ ์ž‘์„ฑ ํ›„ ํ•„์š”์— ๋”ฐ๋ผ ํ…Œ๋งˆ๋ฅผ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Alacritty ์„ค์ • ํŒŒ์ผ ๊ณต์‹ ๊ฐ€์ด๋“œ๋ผ์ธ

โš ๏ธ์ฃผ์˜์‚ฌํ•ญ
"%APPDATA%/alacritty/themes/themes/tokyo_night.toml" ๊ณผ ๊ฐ™์€ evn var์€ ์˜๋„์ ์œผ๋กœ ์ง€์›ํ•˜์ง€ ์•Š์œผ๋ฉฐ, relative path๋กœ ํ…Œ๋งˆ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. v0.14.0๋ถ€ํ„ฐ ์ง€์›๋˜๋‹ˆ Alacritty ๋ฒ„์ „ ํ™•์ธ ํ•„์ˆ˜.

# Alacritty ๋ฒ„์ „ ํ™•์ธ (powershell ๋˜๋Š” cmd์—์„œ ์‹คํ–‰ํ•ด ์ฃผ์„ธ์š”)
alacritty --version

# ๋˜๋Š”
alacritty -v # alacritty๋ฅผ ์‹คํ–‰ํ•˜๋ฉด์„œ ์ข€ ๋” ์ž์„ธํ•œ ์ •๋ณด๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐธ๊ณ  ์ž๋ฃŒ

0๊ฐœ์˜ ๋Œ“๊ธ€