Warp terminalas neįgaliam naudotojui: kai kiekvienas klavišo paspaudimas yra pastanga

Rašau šį tekstą Kubuntu 24.04 aplinkoje. Rašau galvos lazdele (angl. head pointer arba head stylus) – pagalbine priemone, kuria spaudžiu klaviatūros klavišus galvos judesiais. Pelės nenaudoju – negaliu fiziškai. Todėl kiekvienas mano santykis su kompiuteriu prasideda ir baigiasi klaviatūra, ir vengiu kiekvieno nereikalingo klavišo paspaudimo.

Būtent iš šios perspektyvos noriu papasakoti apie Warp – terminalą, kuris pakeitė mano kasdienę darbo eigą ir, drįstu sakyti, šiek tiek palengvino gyvenimą.

Mano aplinka prieš Warp

Kubuntu 24.04 pagal numatytuosius nustatymus pateikia Konsole – KDE terminalo emulatorių. Konsole yra patikimas ir gerai veikiantis, tačiau jis suprojektuotas „vidutiniam" naudotojui – tam, kuris greitai rašo abiem rankomis ir laisvai juda tarp pelės ir klaviatūros. Man toks modelis netinka. Konsole neturi protingo automatinio užbaigimo „iš dėžės", jokio DI pagalbininko, o norint naviguoti per ilgą išvestį, reikia daug pasikartojančių klavišų paspaudimų.

Aš ieškojau terminalo, kuris sumažintų klavišų paspaudimų skaičių, padėtų prisiminti komandas ir idealiausiai – leistų kai kuriuos dalykus daryti visai be rašymo.

Kas yra Warp?

Warp – šiuolaikinis terminalo emulatorius, parašytas Rust kalba, su GPU grafikos pagreitinimu ir integruotu dirbtiniu intelektu. Jis sukurtas būti ne tik greitas, bet ir protingas: siūlo komandų užbaigimą, klaidų paaiškinimus, natūralios kalbos sąsają ir net balso valdymą. Linux versija oficialiai pasirodė 2024 m. vasarį ir dalijasi beveik visu kodu su MacOS versija.

Diegimas (K)Ubuntu 24.04

Diegimas paprastas ir visiškai atliekamas klaviatūra. Atsisiunčiau .deb paketą iš warp.dev/download (naršyklėje tai galima padaryti be pelės – Tab klavišu naršant po nuorodas) ir įdiegiau terminale:

cd ~/Downloads
sudo dpkg -i warp-terminal_*_amd64.deb

Jei trūksta priklausomybių:

sudo apt --fix-broken install

Diegimas automatiškai sukonfigūruoja apt saugyklą, todėl ateityje atnaujinimai vyksta per sudo apt upgrade. Po diegimo Warp paleidžiamas komanda warp-terminal arba per programų meniu (Alt+F1 Kubuntu aplinkoje).

Pirmu paleidimu prašoma prisijungti – tai galima padaryti per GitHub ar Google paskyrą. Prisijungimas šiek tiek erzina (reikia naršyklės sąveikos), bet atliekamas tik vieną kartą. Po to interneto ryšys nebūtinas.

Kodėl Warp man tinka geriau nei Konsole

Automatinis užbaigimas – mažiau spaudymų

Tai pirmasis dalykas, kurį pajutau. Warp siūlo komandų, parametrų ir failų kelių užbaigimą rašant. Užtenka surinkti kelis simbolius, paspausti Tab arba rodyklę žemyn, ir pasirinkti iš sąrašo. Galima įjungti nustatymą „Open completions menu as you type" – tada meniu atsidaro automatiškai, net nespaudžiant Tab.

Automatiniai pasiūlymai (autosuggestions) rodo pilną komandą iš istorijos pilku tekstu. Priimti pasiūlymą galima paspaudus rodyklę dešinėn arba Ctrl+F. Galima priimti ir dalį – po vieną žodį – naudojant Ctrl+Shift+rodyklę dešinėn.

Man tai reiškia, kad vietoj 40 klavišų paspaudimų ilgai komandai pakanka 8–10 ir vieno patvirtinimo. Tai ne smulkmena – tai skirtumas tarp nuovargio ir dar pusvalandžio darbo.

DI agentas – komandos natūralia kalba

Čia Warp iš tikrųjų keičia žaidimo taisykles. Paspaudus Ctrl+I atidaromas agentinis režimas. Jame galima rašyti natūralia kalba – pavyzdžiui:

  • „Show me all files modified in the last 24 hours"
  • „Find the largest files in my home directory"
  • „Allow SSH through the firewall"

Warp DI sugeneruoja reikiamą komandą, paaiškina, ką ji daro, ir leidžia ją paleisti vienu paspaudimu. Man tai yra neįkainojama: vietoj to, kad prisimintum find komandos parametrus ar ieškočiau internete (o tai reiškia – naršyklė, paieška, kopijavimas, grįžimas), tiesiog aprašau, ko noriu, ir gaunu atsakymą tiesiai terminale.

DI taip pat gali paaiškinti jau parašytas komandas. Pažymiu komandą ir spaudžiu `Ctrl+`` – gaunamas suprantamas paaiškinimas. Tai naudinga, kai grįžtu prie senų scenarijų ir nebeprisimenu, ką tiksliai kuri eilutė daro.

Balso valdymas – visai be rašymo

Warp turi integruotą balso įvesties funkciją, veikiančią per Wispr Flow technologiją. Nustatymuose (Settings > AI > Voice) priskiriamas spartusis klavišas – paspaudus ir laikant jį, kalbama natūralia kalba, o atleidus, tekstas paverčiamas komanda ar užklausa.

Tai atveria galimybę dirbti terminale beveik visiškai be klaviatūros: pasakai „list all running Docker containers" – ir gauni rezultatą. Balso funkcija veikia ne tik agentiniame režime, bet ir įprastinėse įvesties laukuose – paieškoje, komandų eilutėje, bet kur, kur reikia teksto.

Turiu pripažinti – ši funkcija man nėra reikalinga, nes mano kalba kartais sunkiau atpažįstama, o lietuviškai balso valdymas neveikia. Tačiau angliškai tai veikia pakankamai gerai ir leidžia atlikti bent dalį užduočių be jokio fizinio kontakto su klaviatūra.

Blokai – lengvesnis naršymas per istoriją

Tradiciniame terminale visa komandų istorija yra viena teksto srovė. Warp kiekvieną komandą ir jos išvestį grupuoja į atskirą bloką (Block). Tarp blokų galima naršyti klaviatūra (Ctrl+rodyklė aukštyn/žemyn), o kiekvieną bloką galima atskirai filtruoti, kopijuoti ar dalintis.

Man tai reikšminga, nes grįžti prie ankstesnės komandos rezultatų nebereiškia ilgo slinkimo. Keliais paspaudimais esu ten, kur reikia.

Komandų paletė – vienas spartusis klavišas viskam

Ctrl+Shift+P atidaro komandų paletę (Command Palette) – paiešką, per kurią galima pasiekti beveik visas Warp funkcijas. Užtenka surinkti kelis simbolius – pavyzdžiui, „theme" temų keitimui arba „split" langų dalijimui – ir pasirinkti iš rezultatų. Tai panašu į VS Code principą ir leidžia valdyti programą niekada neliečiant pelės.

Kaip Warp veikia su Kubuntu 24.04 (KDE Plasma)

Kubuntu 24.04 siūlo ir Wayland, ir X11 sesijas. Warp veikia abiejose, tačiau su Wayland kai kurie naudotojai praneša apie kopijavimo ir įklijavimo problemas. Jei su tuo susiduriate, sprendimas paprastas:

echo WARP_ENABLE_WAYLAND=0 >> ~/.config/environment.d/envvars.conf

Po pakartotinio prisijungimo Warp veiks per XWayland. Asmeniškai naudoju X11 sesiją – ji stabilesnė, o man stabilumas yra prioritetas, ne naujausios Wayland galimybės.

Svarbu paminėti: KDE Plasma gerai palaiko klaviatūros navigaciją tarp langų (Alt+Tab, Meta programų paleidimui), todėl Warp puikiai integruojasi į visiškai pelės nenaudojančią darbo eigą.

Ko trūksta – sąžininga kritika

Prieinamumo spragos

Warp savo dokumentacijoje teigia siekiantis būti prieinamiausiu terminalu, tačiau realybė kol kas atsilieka nuo ambicijų. Ekrano skaitytuvai (screen readers) Linux sistemoje kol kas nepalaikomi – tai sekama kaip atvira problema GitHub platformoje. Kai kurios naujos funkcijos pridedamos su mygtukais, kuriems nėra aiškių sparčiųjų klavišų – tai pastebėjo ir kiti naudotojai, viešai raginę kūrėjus užtikrinti, kad viskas terminale būtų pasiekiama klaviatūra. Vienas naudotojas tiesiai parašė: terminale absoliučiai viskas turėtų būti valdoma klaviatūra, o kiekviena nauja funkcija tik prideda daugiau elementų, kuriuos galima pasiekti tik pele.

Uždaras kodas

Warp front-end'o UI karkasas yra atviro kodo, tačiau serverinė dalis – ne. Kūrėjai žada atverti daugiau kodo, bet konkrečių terminų nėra. Tai nereiškia, kad programa bloga, bet principingam atviro kodo šalininkui tai gali būti kliūtis.

Privalomas prisijungimas

Pirmas paleidimas reikalauja paskyros sukūrimo. Tai šiek tiek keista terminalui, nors po pirmo karto internetas nebūtinas.

Nemokamo plano ribos

Nemokamas planas siūlo 20 DI užklausų. Kasdieniam naudojimui to gali neužtekti, ypač jei DI agentas yra pagrindinis darbo įrankis (ne mano atveju). Tada verta apsvarstyti mokamą planą.

Patarimai naudotojams su fizine negalia

Jei naudojate pagalbinę priemonę – galvos lazdelę, burnos lazdelę, akių sekiklį ar bet ką kitą – ir ieškote būdų palengvinti darbą terminale, štai keletas Warp nustatymų, kuriuos rekomenduoju:

Įjunkite automatinį užbaigimą rašant. Settings > Features > Open completions menu as you type. Taip nereikės kaskart spausti Tab – pasiūlymai rodomi iš karto.

Nustatykite balso įvesties spartųjį klavišą. Settings > AI > Voice. Pasirinkite klavišą, kurį lengviausia pasiekti jūsų pagalbine priemone. Net jei balso atpažinimas nėra tobulas, tai vis tiek sumažina rašymo poreikį.

Naudokite komandų paletę viskam. Ctrl+Shift+P – greičiausias kelias prie bet kurio nustatymo ar funkcijos, visiškai be pelės.

Išsaugokite dažnas komandas Warp Drive. Galima sukurti parametrizuotus scenarijus ir paleisti juos keliais paspaudimais, užuot rašius viską iš naujo kiekvieną kartą.

Agentinis režimas kaip numatytasis darbo būdas. Ctrl+I ir natūralios kalbos užklausa dažnai bus greitesnė nei tikslios komandos rašymas. Warp gali automatiškai aptikti, ar rašote komandą, ar natūralią kalbą – tą galima įjungti nustatymuose (Settings > AI > Input > Natural Language Detection). Palaikoma ir lietuvių kaba.

Apsvarstykite Vim režimą. Jei esate patyrę, Warp palaiko Vim klavišų kombinacijas komandinėje eilutėje – tai gali sumažinti galvos judėjimą, nes dauguma veiksmų atliekami „namų" eilutės klavišais.

Pabaigai

Terminalas daugumai žmonių yra tiesiog juodas langas su mirksančiu kursoriumi. Man tai patogus įrankis, per kurį sąveikauju su kompiuteriu. Ir Warp – pirmasis terminalas, kuris, mano patirtimi, aktyviai mažina barjerą tarp minties ir rezultato.

Jis nėra tobulas. Prieinamumas Linux platformoje dar turi augti, balso valdymas dar turi tobulėti, o kai kurios funkcijos vis dar per daug orientuotos į pelės naudotojus. Tačiau DI agentas, protingas automatinis užbaigimas, blokai ir komandų paletė jau dabar daro reikšmingą skirtumą mano kasdieniam darbui.

Kai kiekvienas klavišo paspaudimas kainuoja – kiekvienas sutaupytas paspaudimas yra dovana. Warp tų dovanų duoda nemažai.

Atsisiųsti galima iš warp.dev.

Komentarai

Populiarūs įrašai