Greitas, gražus ir nesukeliantis vargo? Mac terminalo "visiška versija" pagaliau atvyko
Greitas, gražus ir nesukeliantis vargo? Mac terminalo "visiška versija" pagaliau atvyko
Įžanga: tas pažįstamas sumišimo momentas
Rašant kodą Mac, pirmas dalykas, kurį reikia padaryti, yra pasirinkti terminalą.
Įmontuotas Terminal? Funkcijos per daug pagrindinės, išvaizda trūksta žavesio, po dviejų dienų norisi pabėgti.
Tada greičiausiai įsidiegsite iTerm2.
Galų gale, tai yra "didysis brolis" Mac terminalų pasaulyje, funkcijos tikrai stiprios. Padalinta ekrano, spalvų derinimas, klaviatūros spartieji klavišai – ko tik norite, viskas yra.
Bet ilgai naudojant, jūs tikrai pastebėjote –
Jis vis labiau tampa sunkus.
Pradėjus jį, reikia laukti vieną ar dvi sekundes, kartais užstringa shell užbaigimas, atminties naudojimas taip pat nuolat auga.
Aiškiai norėjote tik įvesti kelias komandas, bet jaučiate, kad paleidžiate mažą IDE.
Galbūt jūs taip pat bandėte Alacritty, Kitty ir kitus "greitojo partijos" terminalus. Išties greiti, bet atidarius konfigūracijos failą, daugybė parametrų verčia galvoti, o natūralus jausmas šiek tiek prastėja.
Taigi, klausimas kyla:
Ar yra terminalas, kuris gali būti greitas, gražus ir nesukeliantis vargo?
Atsakymas yra: taip.
Pagrindinis veikėjas: Ghostty
Ghostty yra greitas, funkcionalus, daugialypės platformos terminalo emuliatorius, naudojantis platformos natyvią UI ir GPU pagreitį.
Svarbiausia – jo autorius yra Mitchell Hashimoto.
Neklausėte šio vardo? Jis yra HashiCorp įkūrėjas, pats sukūręs Vagrant, Terraform, Vault – šiuos infrastruktūros "įrankius".
Trumpai tariant, tai yra žmogus, kuris sukūrė ratą iki viešojo sąrašo.
Mitchell 2023 metais paliko HashiCorp ir norėjo padaryti kažką kitokio – "ne serverio", "darbalaukio programinę įrangą", todėl atsirado Ghostty.
Ghostty našumas yra apie 4 kartus greitesnis nei iTerm2 ir Kitty, o greitis panašus į Alacritty, tačiau funkcijų yra daug daugiau.
Tai nėra jokio laukinio atvirojo kodo projektas, o didžiojo meistro dvejų metų uždaras darbas.
Pagrindinis akcentas 1: greitis ir aistra
Pirmiausia pasakysiu apie labiausiai akivaizdų jausmą – greitas, tikrai greitas.
Ghostty macOS naudoja Metal renderavimui, tiesiogiai kviesdamas Apple grafikos API.
Ką tai reiškia?
Ritmingai slenkant žurnalus, jis sklandus kaip naršant Weibo.
cat didelį failą, kiti terminalai vis dar šokinėja ekrane, Ghostty jau stabiliai parodė viską.
Kūrėjai pranešė, kad duomenų bazės užklausos grąžina pusę milijono rezultatų, Ghostty apdoroja "per akimirką".
Jo Metal renderis netgi palaiko ligatūras (ligatures) be perėjimo prie CPU renderavimo – tai, ko net iTerm2 negali padaryti.
Tas jausmas, kai jis reaguoja, po to negrįšite atgal.
Pagrindinis akcentas 2: išvaizda yra teisė (natyvi patirtis)
Daugelis daugialypės platformos terminalų turi bendrą problemą: iš karto matosi, kad tai ne Mac programa.
Langų rėmeliai keisti, meniu juosta nestandartinė, bendra atmosfera yra "aš esu perkelta iš Linux".
Ghostty visiškai kitoks.
Jo macOS programa yra tikra, sukurta naudojant SwiftUI, turinti tikrą langų valdymą, meniu juostą, nustatymų sąsają.
Skirtingai nuo tų, kurie naudoja pritaikytą ar interneto UI, Ghostty orientuojasi į platformos natyvią GUI, macOS naudoja Swift, AppKit ir SwiftUI, užtikrindamas, kad jis puikiai integruojasi su operacine sistema, teikdamas sklandžią vartotojo patirtį.
Palaiko matinio stiklo efektą, pritaikomą skaidrumą, ir su jūsų Mac harmoningai susijungia.
Jis turėtų atrodyti būtent taip.
Pagrindinis akcentas 3: konfigūracija be vargo
Tie, kurie naudojo Alacritty, žino, kaip "kietas" yra tas konfigūracijos failas.
Ghostty pasirinko kitą kelią: paprastumas yra grožis.
Ghostty naudoja paprastą key-value konfigūracijos failą (pavyzdžiui, ~/.config/ghostty/config), leidžiantį lengvai pritaikyti šriftą, temą, skaidrumą ir elgesį, nereikalaujant mokytis jokios pritaikytos programavimo kalbos.
Pakeitus ir išsaugojus, tai iš karto įsigalioja, nereikia perkrauti terminalo.
Palaiko 24-bit tikras spalvas, įmontuota daugiau nei 100 spalvų temų, išpakavus galite pritaikyti savo terminalo išvaizdą.
Tiems, kurie nori "naudoti", o ne "vargti", tai tiesiog palaima.
Praktinis demonstravimas: laikas kopijuoti užduotis
Na, tiesiog pradėkime!
Įdiegimo būdas (macOS): brew install --cask ghostty konfigūracijos failo vieta:
~/.config/ghostty/config greitas pradžios komandos:
- Peržiūrėti visas temas:
ghostty +list-themes - Peržiūrėti numatytąją konfigūraciją:
ghostty +show-config --default - Išvardyti šriftus:
ghostty +list-fonts
# Šrifto nustatymai font-family = JetBrains Mono font-size = 14
Tema (įdiegta 100+ pasirinkimų)
theme = GruvboxDark
Langų skaidrumas
background-opacity = 0.92
Kursoriaus stilius
cursor-style = block cursor-style-blink = true
Langų vidiniai atstumai
window-padding-x = 12 window-padding-y = 8
macOS specifika: natūralūs skirtukai
macos-titlebar-style = tabs Nukopijuokite, įklijuokite, išsaugokite, ir viskas.
Atidarykite Ghostty, pajuskite tą komfortą.
Jei reikia, čia yra dar viena ne tokia paprasta konfigūracija:
# ~/.config/ghostty/config
--- Šrifto nustatymai ---
Rekomenduojama naudoti Nerd Fonts, kad būtų palaikoma daugiau ikonų
font-family = "JetBrains Mono" font-size = 14
Įjungti ligatūrų funkciją (pvz., != tampa ≠)
font-feature = calt font-feature = liga
--- Išvaizdos nustatymai ---
Geekų mėgstama Catppuccin Mocha tema
theme = catppuccin-mocha
Įjungti natūralų gausų neryškumą (galioja tik macOS)
background-opacity = 0.9 background-blur-radius = 20
Palikite šiek tiek erdvės tekstui, nespauskite jo prie lango krašto
window-padding-x = 12 window-padding-y = 12
Paslėpti viršutinę natūralią pavadinimų juostą (įsitraukimo patirtis, pasirinktinai)
window-decoration = false
--- Naudingas sąveikos ---
Kursoriaus stilius: kvadratinis ir neblinkantis, didesnis dėmesys
cursor-style = block cursor-style-blink = false
Pelės paslėpimas: automatiškai paslėpti pelės žymeklį rašant
mouse-hide-while-typing = true
--- Svarbūs spartieji klavišai ---
Įpratote prie iTerm2 padalijimo? Čia grąžinkite pažįstamus klavišus
Cmd+d vertikalus padalijimas
keybind = cmd+d=newsplit:right
Cmd+Shift+d horizontalus padalijimas
keybind = cmd+shift+d=newsplit:down
Greitas konfigūracijos perkrovimas (pakeitus iš karto įsigalioja)
keybind = cmd+shift+r=reload_config
Kitos vertos paminėti funkcijos
- Įmontuota langų padalijimo funkcija, leidžianti valdyti kelis terminalo seansus viename lange, daugelyje scenarijų nebebus reikalingas tmux.
- Unikali Terminalo Inspektoriaus funkcija, realaus laiko derinimo įrankis, leidžiantis stebėti kiekvieną terminalo veiklos detalę, nuo klavišų paspaudimų iki atvaizdavimo laiko.
- Greito terminalo funkcija, leidžianti bet kada iškviesti terminalą naudojant spartiuosius klavišus.
- Palaiko pritaikytus šešėlius (Shaders), leidžiančius pasiekti retro CRT efektus ir kitus įspūdingus vizualus.
Santrauka: Tobulas našumo ir patirties balansas
Pasakėme tiek daug, kas gi yra gerai Ghostty?
Vienu sakiniu:
Jis pirmą kartą leidžia "greitai", "gražiai" ir "patogiai" būti nesusipriešinusiems."Nors rinkoje yra daug puikių terminalų emuliatorių, jie visi verčia tave rinktis tarp greičio, funkcijų ir natūralios UI. Ghostty turi viską."——Mitchell Hashimoto
Jei tu:
- Užteks iTerm2 paleidimo laukimo
- Užteks konfigūracijos failų pragarų
- Tiesiog nori paruošto naudoti, natūraliai sklandaus terminalo

