Kuidas see üles ehitatud on, osa-osalt
Üks reegel hoiab kogu programmi koos: akna olek elab mälus ja seadistus elab failides. Kõik allpool tuleneb sellest.
Reegel, mis on kõige aluseks
Aken hoiab vahekaarte. Vahekaart hoiab plokke. Plokk on terminal, redigeeritav fail, failipaneel, veebileht, pilt, PDF, Markdowni leht, diff, süsteemimonitor, seadete ekraan või lisandmooduli paneel. Neid saab jagada mis tahes suunas pesastatult, lohistada, suurust muuta ja sulgeda ühe reeglistiku alusel, mitte iga uue funktsiooni jaoks uue alusel. Kõik, mis on liiga suur, et kuuluda kõigile, on lisandmoodul vobuda enda kataloogist, seni Disain ja Direktor, paigaldatud ja eemaldatud tervikuna ühe vajutusega.
Selle paigutuse kohta ei salvestata midagi andmebaasi, sest andmebaasi pole. See, mida aken hetkel teeb, elab mälus; see, mida sina oled otsustanud, elab failides. Seepärast kutsuvad nupp, klahv, menüüriba, Cmd+K ja käsurida kõik sama tegevust nime järgi, ja seepärast tähendab käitumise muutmine peaaegu alati JSON-i redigeerimist.
Sellepärast on parim terminaliemulaator Macile, sedalaadi töö jaoks, milleks see üles on ehitatud, selline, mida saab uurida. Kui seade on olemas, on selle jaoks failis rida. Kui tegevus on olemas, on sellel nimi, mille järgi seda kutsuda.
Viis teed tegevuseni, ja need on sama tegevus
Nii paljude tegevuse puhul on suurem osa programmist praktikas peidus. Cmd+K on tee, mis vastab küsimusele „mida see oskab“ mitte „tee seda“.
-
See õpetab klahve, mitte ei asenda neid
Iga rida näitab enda otseteed. Inimene, kes sama tegevuse jaoks loendi juurde kaks korda tagasi tuleb, on kolmandaks korraks klahvi ära õppinud.
-
See pole viies sõnastik
Iga rida käivitab tegevuse nime järgi, täpselt nii nagu ka teised neli. Kontroll seob selle joonistatava tabeli tuuma nimekirjaga sellest, millele klahvi tohib siduda, mõlemas suunas: tegevus, mis on olemas, aga mida seal ei pakuta, jätab ehituse läbi kukkuma.
-
Käsurida on sama komplekt
vobuda do block.split-down, vobuda button files, vobuda theme catppuccin-mocha, vobuda send, vobuda signal, vobuda state, vobuda log, tippituna mis tahes vobuda plokis, ning
vobuda mcppakub samu käske agendile MCP-tööriistadena. Mitte tagauks skriptidele: liidese testid juhivad kogu programmi selle kaudu, mistõttu saab sellele loota, ning seetõttu saab agent sinu akna ümber korraldada ja sina saad täpselt lugeda, mida ta tegi.
Plokid, ja mida need lubavad
Plokk vahetab vahekaarti koos töötava shelliga
Lohista plokk selle päisest riba peal olevale vahekaardile ja see maandub sinna: sama id, sama shell, sama kaust, endiselt käib see, mis käis. Vahekaart süttib aktsendivärviga, kuni plokk on selle kohal. Ka selle jaoks on tegevus, block.to-tab:2, nii et see saab olla klahvi taga ja kontroll saab selle ilma hiireta käivitada.
Suurused jäävad meelde, ja on olemas alampiir
Iga ploki kohta eraldi, ja ükski plokk ei tohi muutuda nii kitsaks, et see kasutuskõlbmatuks muutub. Paneel 200 punkti juures on paneel, mida keegi kasutada ei saa.
Miski sinu oma ei kao vaikselt
Midagi töötavat sulgemine küsib enne, nime järgi, sest kellegi töö kaotamine korra maksab rohkem usaldust, kui terve funktsioon toob. Samal põhjusel tehakse projekti kaustast enne iga agendi käiku hetktõmmis, ühe vajutusega tagasi pandav; agendile kleebitud võti peatatakse enne, kui agent seda näeb; ja tara, mille saad sisse lülitada, keeldub agendi kirjutamisest ja kustutamisest väljaspool projekti.
Seansid tulevad vaikimisi tagasi
Vahekaardid, plokid ja iga ploki töökaust tulevad pärast taaskäivitust tagasi ja see on vaikimisi sees; üks lüliti jaotises Üldine lülitab selle välja. Teisest masinast saabunud seanss avab selle, mida suudab, ja ütleb, mida ei suutnud, mitte ei jäta plokke vaikselt maha.
Seadete kaust, fail faililt
Kõik kaustas ~/.config/vobuda on loetav JSON, mida jälgitakse programmi töö ajal. Salvesta fail ja aken joonistatakse uuesti.
| Fail | Mida see sisaldab |
|---|---|
| settings.json | Teema, väljanägemine, terminal, shell, aken, signaalid: iga seade kümnes jaotises |
| themes/*.json | Terminali ja akna värvid. Kaasas on 25 palette, kaks neist tehtud värvinägemispuude jaoks |
| looks/*.json | Akna kuju: nurgad, varjud, paneelide värvid, läbipaistvus. 29 on kaasas |
| skins/*.json | Millised monitori paneelid joonistatakse ja kuidas |
| buttons.json | Dokk: nupud, järjekord, külg, kuju, ja värv nende jaoks, mis väärivad esiletõstmist |
| agents.json | Kuidas agent ära tuntakse ja mida talle pakutakse |
| keys.json | Iga otsetee. macOS-i natiivne menüü ehitatakse samast failist |
| workspaces/*.json | Projektid: igaüks aken oma vahekaartide, kausta, teema ja dokiga |
Sisseehitatud teemad elavad binaaris ja kaust alistab need, nii et uuendus toob uusi värve midagi üle kirjutamata, mida oled redigeerinud. Kogu kaust salvestub ühe arhiivina ja taastub teises Macis ning Macis elab koopia iCloud Drive'is, vaikimisi sees, ühe lülitiga väljalülitatav.
Süsteemimonitor, korraldatud failiga
Kaksteist paneelitüüpi ja see, millised neist sina näed, on skin, mitte ekraan, mille keegi kord kavandas.
-
Numbrid on enda kohta ausad
Väärtus, mida süsteem hindab, mitte ei mõõda, joonistatakse tildega, ja puuduv riistvara annab puuduva väärtuse, mitte nulli. Masin ilma eraldi graafikakaardita ei saa GPU paneeli, mis näitab null protsenti.
-
Mõlemad aadressid, kummalgi oma kopeerimisnupp
Aadressipaneel nimetab kõigepealt aadressi, mida internet näeb, ja selle all selle, mis sellel masinal on oma võrgus. See küsib ainult siis, kui paneel on nähtaval, umbes kord kümne minuti jooksul või iga kolmekümne sekundi järel, kuni aadressi veel ei teata, ja päring ei sisalda midagi masina kohta.
-
Ümber järjestatud lohistades, nagu kõik muu
Monitori paneelid, doki nupud ja juhtriba osad võetakse kõik üles ja pannakse oma kohale sama žestiga. Seaderida võetakse üles selle vasakul asuvast käepidemest, mitte suvalisest reajaotisest, nii et lohistus, mis algab tekstiväljal, ei takista sul valimast sõna, mida sa muuta tahtsid.
Fail avaneb shelli kõrval
Asi, mille jaoks terminal tavaliselt sind mujale saadab: väljundis ilmub tee, kaks rida vajavad muutmist, ja seni tähendas see redaktori juurde minekut ning tagasitulekut shelli konteksti kaotanuna.
-
Salvestamine on teadlik tegu
Midagi ei kirjutata enne Cmd+S. Redaktor, mis kirjutab jooksvalt trükkides, on tore asi märkmikurakenduses ja halb asi töötava shelli kõrval. See on tegevus, mitte klahvivajutus, mis annab sellele ka menüükirje, otsetee ja käsurea kirje nagu kõigele muule siin.
-
Keeldumised loevad sama palju kui kirjutamine
Faili, mis on kettal avamise järel muutunud, üle ei kirjutata. Binaarfaili ei näidata moonutatud tekstina. Kausta üldse ei avata. Salvestamata muudatused kannavad nähtavat märki ja redigeeritud faili sulgemine küsib kinnitust.
-
Faili leidmine
Failide paneel otsib nime järgi kaustast, mille peal sa hetkel seisad, allapoole, ja iga tulemus näitab, millises kahes kausta ta asub, sest ainuüksi nimi ei erista kahte index.ts faili. See jätab vahele node_modules, .git, target ja nende sarnased, peatub kaheksa taseme või kahesaja tulemuse juures, ega tee midagi alla kahe tähe juures.
Seaded, nii ekraanina kui failidena
Kümme jaotist, Üldisest kuni Andmete ja privaatsuseni, otsing üle iga seade, ja igaüks neist on rida failis, mida saad ka käsitsi redigeerida.
-
Seaded tulevad ploki juurde
Paremklõps paneelil tähendab konkreetselt see asi siin, muuda seda. Nii avab seaderea valimine ploki enda menüüs vastava jaotise akna kohal, menüü nurgas, selle asemel et viia sind seadete ekraanile. See on tegevus nagu kõik muu: settings.here:themes, settings.here:monitor.
-
Heli, mida saad valides kuulda
Signaaliheli või terminali kella valimine mängib selle ette. Nimede loendist heli valimine, ilma seda kuulmata, on nime valimine.
-
Miski ei küsi taaskäivitust
Seadete kausta jälgitakse, kaasa arvatud kaks asja, mida haldab tuum: sinu otseteede failist ehitatud macOS-i menüüriba ja allalaskuva akna globaalne klahv, kus vana klahv vabastatakse enne uue registreerimist, nii et kaks ei saa korraga vastata. Kontroll loeb iga vihje seadete ekraanil ja jätab ehituse läbi kukkuma, kui leiab sõna taaskäivitus.
Rääkimine ja ettelugemine
Mõlemad kasutavad süsteemi enda kõnet, sinu enda masinas. Heli ei lahku kunagi arvutist.
Diktimine
Cmd+Shift+V trükib öeldu plokki, milles sa parasjagu töötad, ja riba ütleb kahe tähega, mis keeles see kuulab. Diktitud fraas trükitakse ja seda ei käivitata kunagi: tuvastus kuuleb valesti ja valesti kuuldud käsk, mis ise käivitub, on programm, mis kustutab asju, sest raadio oli sisse lülitatud. Agendi kõrval, kus fraas on sõnum, mitte käsk, saab see ise ka saata, ja see on seade, mida loetakse fraasi lõppemise hetkel.
Vastuse ettelugemine
Cmd+Shift+R loeb agendi viimase vastuse valjusti ette; uuesti vajutades peatub see. Ette loetakse vastus, mitte ekraan. Punkt loendi ees, tärnid rõhutatud sõna ümber, ülakomad nime ümber, joonega raam, täielik tee seal, kus piisaks failinimest: need kaovad, sõnad nende sees jäävad. Lugemist piiravad kujundid, mitte sõnad, alt agendi sisestusreast ja ülalt tema logost, sest agendi liides muutub iga selle uue versiooniga.
Väikesed asjad, mis otsustavad, kas jääd seda kasutama
Parem nupp on meie oma
Kõikjal aknas: ploki enda menüü ploki sees, akna oma väljaspool, vahekaardiriba, dokk, ruutude vahe. Iga rida on tegevus, ja menüül endal on oma tegevus, block.menu, nii et žest, mille ulatab ainult käsi, ei jää žestiks, mida miski ei suuda kontrollida. Ainus koht, mis säilitab süsteemi enda menüü, on tekstiväli, kus pakutakse lõikamist, kopeerimist, kleepimist ja sõnastikku.
Ava kaust kust iganes
vobuda://open?path=/some/path avab selles kaustas vahekaardi, olgu selle allikaks Finderi tegevus, skript või mõni teine rakendus. macOS-il pole süsteemi tasemel vaiketerminali seadet, nii et see on selle funktsiooni aus versioon, mitte lubadus, mida ei suudeta täita.
Otsimine ploki sees
Cmd+F. Väli kuulub plokile, mille sees see otsib, ja selle sulgemisel jääb vaade sinna, kust vaste leiti.
Võta plokk endaga kaasa
Cmd+Shift+X kopeerib ploki teksti, küsitud terminalilt endalt, mis on ka see, mis paneb selle töötama sisselülitatud GPU-renderdusega, kus lehel ei ole teksti, mida valida. Ploki pilt on kaks tegevust Cmd+K-s, Block snapshot to clipboard ja Block snapshot to a file.
Uuendusekontrollid, mis pole koduülesanne
Tuum kontrollib kord päevas, omaette lõimes, ja see, mida sa näed, on riba paigutuse kohal, mitte selle peal, sest teavitus, mis katab terminali, on selline, mille inimesed õpivad lugemata sulgema. Midagi ei paigaldata enne, kui vajutad: agendi jaoks on uuendus käsk, mis tippitakse aktiivsesse plokki, kus selle väljund on nähtav, ja Vobuda jaoks Macis paigaldab nupp uue versiooni taustal ja pakub seejärel taaskäivitust, mis toimub ise kümne sekundi pärast, kui miski ei tööta.
Nelikümmend keelt, ja igas keeles oma juhend
Kaasa arvatud macOS-i menüüriba, mille süsteem tuumas ehitab. Araabia ja heebrea keel peegeldavad kogu akent, välja arvatud terminali ennast, kus peegeldamine muudaks väljundi ja teed loetamatuks. Tõlkevõti on ingliskeelne string ise, nii et tõlkimata string langeb tagasi loetavale inglise keelele, mitte tühjale kohale ega identifikaatorile.
Proovi asju, millest sa just lugesid
Pärast kahte lühikest küsimust esimesel käivitusel avaneb see ühe terminaliplokiga ja mitte millegi muuga. Kõik ülalpool kirjeldatu on midagi, mille lülitad sisse siis, kui seda soovid.
curl -fsSL https://vobuda.com/install.sh | sh