Programování pro hračičky/Jak zacházet s editorem

Tato stránka není ještě hotová.
Jak používat klasifikační nálepkuTato stránka je součástí kurzu a úložiště:
Příslušnost: všeobecná

Rozhraní mudu Prahy je textové, ovšem také lineární, to znamená, že všechen vstup i výstup je proudem znaků, v němž není možno se vracet. Mudový klient nám sice zpravidla umožňuje nejen vidět několik posledních řádek výstupu najednou, nýbrž i listovat ve stovkách či tisících minulých řádků, avšak nemůžeme už se do žádného z nich přenést a něco dodatečně změnit. Právě tak můžeme díky mudovému klientu různě opravovat a psát na přeskáčku vstupní řádku, než ji odešleme do hry, ale po odeslání už do ní nemůžeme nijak zasahovat.

Na samotné textové popisy a příkazy si zpravidla zvykneme poměrně snadno, protože jsme zvyklí číst a psát, a linearitu navíc známe z filmů a videjí. Pro většinu uživatelů se však ukazuje být přímo extrémní výzvou práce s textovým editorem, s nímž se můžeme na řadě míst ve hře setkat — textové dokumenty totiž běžně zpracováváme v grafických textových procesorech, v nichž intuitivně přeskakujeme sem a tam, vyjímáme, vkládáme, přesouváme a prohazujeme, stále majíce před očima kontext editovaného místa. Prahovský lineární textový editor je skutečně zcela odlišný.

Prahovským editorem nebývají tak výrazně překvapeni uživatelé, kteří již odněkud znají editor vi. Tomu je prahovský editor v základních rysech podobný. Návod na zacházení s editorem vi však nenahradí specifické tipy pro práci s prahovským editorem, které shromažďujeme na této stránce.

Jak se dostat do editoru a z editoru editovat

Běžný hráč Prahů, který není andělem ani měničem, se zpravidla setká jen se zjednodušeným editorem, umožňujícím pouze práci ve vkládacím módu (módy textového editoru jsou popsány níže). Ten se otevře hráči při zadání příkazu chyba, překlep, nápad nebo pochvala, při posílání pošty, při psaní zprávy na nástěnku a v některých dalších, méně častých případech, kdy se očekává zadání delšího textu.

Že se hráč ocitl ve vkládacím módu zjednodušeného editoru, pozná podle toho, že na vstupu se místo běžné výzvy > objeví číslo řádky následované dvěma většítky, tedy 1>>, na další řádce pak 2>> atd. Opustit editor je v tomto případě možno dvěma způsoby:

  • Pokud jsme napsali smysluplný text, který chceme následně odeslat jako chybu nebo jako poštovní zprávu, připnout jako vzkaz na nástěnku apod., pak na novou řádku napíšeme samotný znak . a ukončíme řádku klávesou Enter. Text se pak uloží, resp. použije kýženým způsobem, a my se ocitneme opět v herním světě mimo editor.
  • Pokud jsme se do editoru dostali jen omylem nebo z nějakého jiného důvodu nechceme, aby námi napsaný text byl uložen, odeslán atd., pak na novou řádku napíšeme dvojznak ~q a ukončíme řádku klávesou Enter. Pak se celý text, který jsme napsali od objevení výzvy 1>>, opět smaže.[1]

S plnou verzí editoru povětšinou pracují jen andělé. Smrtelník se do ní dostane jako měničský mistr, když začne používat příkaz programuj. Pak se ocitne v příkazovém módu textového editoru, který se pozná podle výzvy : (někdy se proto mluví též o „dvoutečkovém módu“). I v tomto případě jsou dvě možnosti, jak se zachovat:

  • Pokud jsme do editoru vstoupili cíleně, pak nám dále pomůže kapitola Příkazový mód.
  • Pokud jsme do editoru vstoupili omylem, pak zadáme samotné Q a ukončíme řádku klávesou Enter.

Příkazový mód editovat

:

...

--------------------------------------------------------------------------
Syntaxe:
  <zadání> := [<oblast>]<příkaz>[<volby>]
  <oblast> := % | ; | , | <od>[,<do>] | <od>[;<do>]
  <od>     := <řádka>
  <do>     := <řádka>
  <řádka>  := . | ^ | $ | <číslo_řádky> | <značka> | <hledací_výraz> |
              <řádka>+<řádka> | <řádka>-<řádka>
  <číslo_řádky> := <absolutní_číslo> | {+|-}[<relativní_číslo>]
  <značka> := '<písmeno>
  <hledací_výraz> := /<text_hledaný_dopředu_jako_regulární_výraz>/ |
                     ?<text_hledaný_dopředu_jako_regulární_výraz>?
  <příkaz> := a|c|d|E|f|h|i|j|k|m|n|p|q|Q|t|x|z|Z|=
  <volby>  := záleží na příkazu, viž níže
Symboly řádek:  .  aktuální řádka   Zkratky intervalů:  %  =  1,$
                ^  první řádka                          ,  =  1,.
                $  poslední řádka                       ;  =  .,$
--------------------------------------------------------------------------

--------------------------------------------------------------------------
Není-li u příkazu uvedena oblast, vztahuje se příkaz na aktuální řádku.
Je-li uvedena oblast, vztahuje se příkaz místo aktuální řádky (pro niž
je psán popis příkazů) na tuto oblast.
  z, Z      vypsat 20, resp. 40 řádek
  p         vypsat aktuální řádku
  a         vložit řádky za aktuální řádku (ukončit ".")
  i         vložit řádky před aktuální řádku (ukončit ".")
  c         aktuální řádku nahradit jinými řádkami (ukončit ".")
  d         smazat aktuální řádku
  x         uložit soubor a skončit
  q, Q      skončit, resp, skončit bez uložení změn
  E         vrátit soubor do původního stavu (zahodit dosavadní změny)
  h         vypsat tuto nápovědu
  s/<1>/<2>/g  nahraď v aktuální řádce řetězec <1> řetězcem <2>; s '/g' na
            konci se nahradí všechny výskyty, bez '/g' jen první výskyt
  j         spojit aktuální řádku s následující řádkou
  k<písmeno>  označit řádku značkou <písmeno>
  m<řádka>  aktuální řádku přesunout za řádku <řádka> (0 = na začátek)
  t<řádka>  aktuální řádku zkopírovat za řádku <řádka> (0 = na začátek)
  =         vypsat číslo aktuální řádky
  f         vypsat celkový počet řádek
  n         vypnout/zapnout číslování řádek
--------------------------------------------------------------------------

Vkládací mód editovat

...

Poznámky editovat

  1. Znak ~ napíšeme na běžné české klávesnici tak, že zároveň stiskneme pravou klávesu Alt a klávesu 1 na hlavní klávesnici (tedy šikmo nad klávesou Q).