.paper 0.2 - drobně velká vylepšení
PAPER 0.1 uměl psát, hledat, nahrazovat a ukládat. Co ale neuměl, bylo vzít kus textu a přesunout ho jinam. A když jste něco omylem napsali nebo smazali, nebyla tu ani možnost vzít poslední změnu zpátky.
Verze 0.2 přidává obojí – označování bloků, kopírování, vyjmutí, vložení a také funkci zpět na jedné klávese.
Kde se na nové klávesy vzalo místo: příkazový režim
Do původního ovládání už se nové příkazy jednoduše nevešly. Ve verzi 0.1 byl prakticky každý příkaz kombinací se SYMBOL SHIFT a těch použitelných kombinací není na klávesnici Spectra zase tolik. Označovat blok třeba kurzorovými klávesami se shiftem proto nepřipadalo v úvahu. Verze 0.2 tedy nejdřív mění samotný způsob ovládání. Jedním stiskem EXT MODE – tedy CAPS SHIFT + SYMBOL SHIFT se PAPER přepne do příkazového režimu. V něm jedna obyčejná klávesa bez shiftu znamená jeden příkaz. Režim zůstane zapnutý, dokud ho znovu nevypnete přes EXT MODE nebo mezerníkem. Aby nebylo možné přehlédnout, že je klávesnice přepnutá, stavový řádek v příkazovém režimu zežloutne. A pokud stisknete klávesu, která nemá žádný příkaz, prostě se ignoruje. Do textu se tak v tomto režimu nemůže omylem nic zapsat.
Nové příkazy jsou jednoduché: M označit, C kopírovat, X vyjmout, V vložit a B zpět.
Najdete je samozřejmě i v menu Edit, které teď u každé položky ukazuje příslušnou klávesu. Původní kurzorové kombinace s CAPS SHIFT fungují dál a fungují v obou režimech.
Označování textu
Klávesa M položí na aktuální pozici kotvu. Druhý konec bloku zůstane na kurzoru, takže označení jednoduše roztahujete nebo zmenšujete běžnými pohybovými klávesami. Funguje pohyb po znacích, slovech, řádcích i stránkách, stejně jako skok na začátek nebo konec dokumentu. Další stisk M označení zruší. Zruší ho také jakákoli změna textu – blok jednoduše nemůže zůstat označený ve chvíli, kdy se mu text začne pod rukama měnit.
Kopírovat, vyjmout, vložit
Tady není moc co vysvětlovat. C označený blok zkopíruje, X ho vyjme a V vloží obsah schránky na pozici kurzoru. Schránka má velikost 1 KiB a leží nad dokumentem ve volné paměti, kterou si PAPER zabere při startu. Není tedy součástí samotného dokumentu a označený text nijak neukrajuje místo určené pro jeho editaci. Všechny tři operace jsou poměrně levné díky gap bufferu. PAPER nejdřív přesune mezeru na začátek bloku.
Není tedy potřeba plouhat se dokumentem znak po znaku, ať je blok jakkoli dlouhý.
Pokud je blok větší než schránka, PAPER ho neusekne, ale zobrazí
Not enough room. A pokud se pokusíte kopírovat nebo vyjmout text
bez označeného bloku, dostanete No block marked.
BACK: zpět, a zpět toho zpět
Funkce zpět funguje přes jedinou klávesu B a jeden záznam. V něm je uložený jeden souvislý kus textu a informace o tom, jestli se tento úsek právě nachází v dokumentu, nebo mimo něj.
- Venku – po vyjmutí bloku nebo smazání řádku leží text v 1KiB bufferu pro zpět. Stisk B ho vrátí přesně tam, odkud zmizel.
- Uvnitř – souvisle napsaný text, vložený blok ze schránky nebo úsek, který B právě vrátil. Další stisk B ho vezme z dokumentu a uloží zpět do bufferu.
V obou případech zůstává záznam platný, jen se otočí jeho stav. Druhý stisk tedy vždy vrátí to, co udělal první. Když omylem stisknete zpět dvakrát, nic jste neztratili. Souvislé psaní se bere jako jeden úsek. Každý další znak záznam jen prodlouží, dokud píšete na jeho konec. Pokud se přesunete jinam a začnete psát tam, vytvoří se nový záznam. Záznam je navíc navázaný na pozici v textu, ne na kurzor, takže přežije i to, když se mezitím přesunete jinam v dokumentu. Kopírování se do historie zpět vůbec nezapisuje, protože kopírováním se dokument nemění. Není tedy co vracet. BACK sleduje hlavně vyjmutí, vložení, smazání řádku a souvislé psaní. Nepokryté zůstává hromadné nahrazování, protože to není jedna souvislá změna, ale série změn na různých místech. Stejně tak nelze vrátit úsek delší než samotný buffer.
V těchto případech PAPER raději nevytvoří žádný záznam, než aby vytvořil
neúplný. Klávesa B pak prostě vypíše
Nothing to undo.
Záznam pro zpět ruší také mazání pomocí backspace. Záznam, který už neodpovídá skutečnému obsahu dokumentu, je podle mě horší než žádný záznam.
Drobnosti
- Menu Edit nově obsahuje Mark block, Copy, Cut, Paste, Back/undo, Delete line, Find, Find next a Replace. U každé položky je zároveň uvedená příslušná klávesa příkazového režimu, takže je to asi nejrychlejší způsob, jak se nové ovládání naučit.
- Nápověda je nově celostránková místo původního rámečku. Příkazový režim má jednoduše víc věcí k vysvětlení, než se do starého okna rozumně vešlo.
-
Protože příkazy už nejsou navázané na SYMBOL SHIFT, každé písmeno, které
má na klávese vlastní znak, teď tento znak opravdu napíše. Konečně tedy
fungují i
\ { } [ ] | ~ < >– jak v textu, tak v názvech souborů. - Schránka a buffer pro zpět ukrojí z kapacity dokumentu přibližně 2 KiB z necelých 40 KB, které PAPER najde na čerstvě zapnutém stroji.
A ano – textový editor, kterým nejde napsat zpětné lomítko, je pro skutečné soubory opravdu trochu k ničemu. Takže i tohle bylo potřeba napravit.

