Vyhledávání na webu

Nahradil jsem Windows Terminal tímto emulátorem urychleným pomocí GPU


Aktualizace Windows Terminalu od Microsoftu ho udělala neuvěřitelným a vytáhla příkazový řádek Windows z temného období cmd.exe. Ale i když to velmi oceňuji, nakonec jsem narazil na limit. Chtěl jsem něco rychlejšího, více přizpůsobitelného a konzistentního napříč různými operačními systémy, mezi kterými každý den přepínám.

A právě zde přichází na scénu WezTerm.

Je napsán v Rustu, navržen pro rychlost a je velmi zaměřen na lidi, kteří tráví hodně času v terminálu. Po přechodu jsem si uvědomil, že zatímco Windows Terminal je skvělý nástroj, WezTerm je na míru šité pracovní prostředí.

WezTerm poskytuje výkon urychlený GPU s flexibilitou napříč platformami

Vaše RTX 4090 by neměla sloužit jen k hraní her

WezTerm je terminálový emulátor s akcelerací GPU napsaný v jazyce Rust, který běží hladce na Windows, macOS, Linuxu a dokonce i BSD. Místo toho, aby veškerou svou renderovací práci posílal přes CPU jako většina tradičních terminálů, přenáší tuto úlohu na GPU.

Rozdíl se projeví okamžitě, jakmile začnete dělat cokoli náročného. Ať už sledujete rychle se pohybující logy, kompilujete velké projekty, nebo zvládáte několik relací najednou, WezTerm drží krok bez záseků nebo pomalého překreslování, které byste mohli zažít jinde.

Kromě samotného výkonu se WezTerm zaměřuje i na uživatele, kteří dbají na typografii. Podporuje ligatury, emoji, náhradní písma, skutečné barvy a dynamická barevná schémata. Zní to kosmeticky, ale ve skutečnosti to zlepšuje čitelnost a činí terminál pocitově podobným plnohodnotnému IDE. Operátory jako >= nebo => se zobrazují jako jediný elegantní znak místo samostatných znaků, což snižuje vizuální nepořádek, aniž by byla ohrožena srozumitelnost.

WezTerm také poskytuje multiplexování přímo v terminálu, takže není potřeba instalovat a nastavovat Tmux nebo screen. Můžete vytvářet panely, přepínat záložky a organizovat celé pracovní prostory přímo v nativním rozhraní. Vestavěný multiplexer zahrnuje scrollback s úplným vyhledáváním, podporu myši s funkcí Quick Select a speciální režim pro kopírování textu. Vestavěná paleta příkazů činí navigaci intuitivní: stiskněte Ctrl + Shift + P pro vyhledání všech dostupných akcí, které můžete vyhledat a provést.

Navíc, WezTerm zvládá SSH hned po vybalení. Vzdálené servery se jeví stejně přístupné jako lokální a pokud potřebujete pracovat s sériovými porty nebo Arduino deskami, zvládne to také. Přesahuje běžné použití příkazového řádku a začíná působit spíše jako univerzální řídící konzole pro lidi, kteří žijí v terminálu.

Konfigurace je oblast, ve které WezTerm opravdu vyniká

Pokud to dokážete naprogramovat, WezTerm to zvládne

Začínání s WezTermem zahrnuje vytvoření konfiguračního souboru, ačkoliv je tento proces mnohem méně zastrašující, než to zní. Provedu vás tím na Windows, protože ty používám. Konfigurační soubor, na který se zaměřujete, se jmenuje wezterm.lua. Protože je konfigurace poháněna kódem, je užitečné nejdříve pochopit, co je to LUA, než se do toho pustíte, protože tento lehký jazyk zpracovává veškerou logiku.

WezTerm kontroluje několik různých míst pro tento soubor. Pokud se chcete jen rychle rozběhnout, standardní cesta je v pořádku. Pokud patříte k těm, kteří udržují uklizený ekosystém dotfiles, pravděpodobně oceníte uspořádané rozložení.

  • Standardní nastavení (rychlý start): C:\Users\VašeUživatelskéJméno\.wezterm.lua
  • Organizované nastavení (doporučeno): C:\Users\VašeUživatelskéJméno\.config\wezterm\wezterm.lua

Pokud se vám tyto cesty zdají při ručním vytváření otravné, PowerShell se o ně může postarat jedním příkazem:

# This creates the organized folder structure and the file
New-Item -Path "$env:USERPROFILE\.config\wezterm\wezterm.lua" -ItemType File -Force

Jakmile soubor existuje, můžete jej otevřít v jakémkoli editoru, který máte rádi: Notepad, VS Code nebo dokonce terminálový editor. A nemusíte pokaždé procházet Průzkumníkem souborů, když chcete něco upravit. Jakmile je konfigurace vytvořena, WezTerm může prakticky otevřít vlastní nastavení za vás:

  • VS Code: code ~/.config/wezterm/wezterm.lua
  • Notepad (Windows): notepad $env:USERPROFILE\.config\wezterm\wezterm.lua
  • Nano (Terminál): nano ~/.config/wezterm/wezterm.lua

Pěkné je, že jakmile soubor uložíte, WezTerm okamžitě načte vaše změny.

Tady je základní konfigurace, se kterou můžete začít:

local wezterm = require('wezterm')
local config = wezterm.config_builder()

-- Font configuration
config.font = wezterm.font('JetBrains Mono')
config.font_size = 13.0

-- Color scheme (WezTerm ships with over 1,000 built-in themes)
config.color_scheme = 'Tokyo Night'

-- Visual customization
config.window_background_opacity = 0.95
config.enable_tab_bar = true

-- "INTEGRATED_BUTTONS|RESIZE" keeps the borders resizable and 
-- puts the Min/Max/Close buttons in the tab bar (modern look).
config.window_decorations = "INTEGRATED_BUTTONS|RESIZE"

-- Cursor style
config.default_cursor_style = 'BlinkingBar'

return config

Tento konfigurační úryvek říká WezTermu, aby použil písmo JetBrains Mono o velikosti 13, aplikoval barevné téma Tokyo Night, nastavil průhlednost okna na 95 %, povolil lištu záložek a nastavuje kurzor tak, aby blikající jako svislá čára.

Jakmile soubor uložíte, WezTerm okamžitě převezme změny. Pokud si chcete vyzkoušet různé fonty nebo témata, stačí upravit soubor a sledovat, jak se WezTerm přizpůsobuje v reálném čase.

Konfigurační hodnoty můžete také přepisovat přímo v příkazovém řádku, což umožňuje snadno dočasně testovat nápady, aniž byste se museli dotýkat své konfigurace. Například: wezterm --config color_scheme='Batman' spustí WezTerm s motivem Batman pouze pro tuto relaci.

Protože je konfigurace poháněna jazykem Lua, můžete ji udělat tak složitou, jak chcete. Můžete si definovat vlastní klávesové zkratky pro složité pracovní postupy, přepínat mezi zcela odlišnými konfiguracemi pro práci a osobní projekty, nebo dokonce nastavit podmíněná pravidla, která reagují na denní dobu nebo typ používaného shellu.

Například můžete chtít průhlednost pouze na svém sekundárním monitoru nebo specifické barevné schéma pro různé SSH hosty. Každé okno může mít přidánu další sadu přepisů specifických pro dané okno, které se aplikují pomocí kódu ve vašem konfiguračním souboru, což umožňuje přizpůsobení okna podle kontextu.

Jednou z mých oblíbených funkcí je systém pracovních prostorů. Umožňuje vám seskupovat okna, záložky a panely do pojmenovaných relací. Představte si mít samostatné pracovní prostory pro vývoj frontend, backend služby a údržbu databáze, z nichž každý má své vlastní rozložení a otevřené relace. Mezi nimi můžete přepínat a uchovávat svůj celý pracovní stav po dny nebo dokonce týdny.

Je těžké se rozejít s Windows Terminal, ale tento nový zájem stojí za to.

Abych byl spravedlivý, WezTerm od vás zpočátku vyžaduje o něco víc než běžné terminály typu point-and-click. Strávíte nějaký čas upravováním souboru wezterm.lua, zkoušením barevných schémat a nastavováním klávesových zkratek, které vám přijdou přirozené. Ale tato počáteční investice se vyplatí. Místo toho, abyste žili s výchozími nastaveními někoho jiného, skončíte s pracovním prostředím, které odpovídá vašim zvyklostem a preferencím.

Související články