abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 05:00 | Nová verze

    Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.

    Ladislav Hagara | Komentářů: 2
    včera 01:55 | Nová verze

    GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.

    Ladislav Hagara | Komentářů: 0
    19.12. 17:22 | IT novinky

    Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.

    Ladislav Hagara | Komentářů: 14
    19.12. 17:00 | Komunita

    Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.

    Ladislav Hagara | Komentářů: 0
    19.12. 10:11 | IT novinky

    V pořadí šestou knihou autora Martina Malého, která vychází v Edici CZ.NIC, správce české národní domény, je titul Kity, bity, neurony. Kniha s podtitulem Moderní technologie pro hobby elektroniku přináší ucelený pohled na svět současných technologií a jejich praktické využití v domácích elektronických projektech. Tento knižní průvodce je ideální pro každého, kdo se chce podívat na současné trendy v oblasti hobby elektroniky, od

    … více »
    Ladislav Hagara | Komentářů: 8
    19.12. 03:11 | Komunita

    Linux Foundation zveřejnila Výroční zprávu za rok 2025 (pdf). Příjmy Linux Foundation byly 311 miliónů dolarů. Výdaje 285 miliónů dolarů. Na podporu linuxového jádra (Linux Kernel Project) šlo 8,4 miliónu dolarů. Linux Foundation podporuje téměř 1 500 open source projektů.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:11 | Zajímavý článek

    Jean-Baptiste Mardelle se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 25.12.0 editoru videa Kdenlive (Wikipedie). Ke stažení také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    19.12. 02:00 | Nová verze

    OpenZFS (Wikipedie), tj. implementace souborového systému ZFS pro Linux a FreeBSD, byl vydán ve verzi 2.4.0.

    Ladislav Hagara | Komentářů: 0
    19.12. 01:00 | IT novinky

    Kriminalisté z NCTEKK společně s českými i zahraničními kolegy objasnili mimořádně rozsáhlou trestnou činnost z oblasti kybernetické kriminality. V rámci operací OCTOPUS a CONNECT ukončili činnost čtyř call center na Ukrajině. V prvním případě se jednalo o podvodné investice, v případě druhém o podvodné telefonáty, při kterých se zločinci vydávali za policisty a pod legendou napadeného bankovního účtu okrádali své oběti o vysoké finanční částky.

    Ladislav Hagara | Komentářů: 9
    18.12. 14:44 | IT novinky

    Na lepší pokrytí mobilním signálem a dostupnější mobilní internet se mohou těšit cestující v Pendolinech, railjetech a InterPanterech Českých drah. Konsorcium firem ČD - Telematika a.s. a Kontron Transportation s.r.o. dokončilo instalaci 5G opakovačů mobilního signálu do jednotek Pendolino a InterPanter. Tento krok navazuje na zavedení této technologie v jednotkách Railjet z letošního jara.

    Ladislav Hagara | Komentářů: 8
    Kdo vám letos nadělí dárek?
     (27%)
     (2%)
     (13%)
     (2%)
     (2%)
     (2%)
     (10%)
     (25%)
     (17%)
    Celkem 48 hlasů
     Komentářů: 15, poslední dnes 09:50
    Rozcestník

    ed - téměř dokonalý editor

    15.8.2018 00:45 | Přečteno: 3279× | Výběrový blog | poslední úprava: 16.8.2018 10:23

    Nejeden uživatel unixových systémů se orosí hrůzou, jakmile je postavena před nutnost upravit nějaký soubor v editoru vi. Systémy, které se chtějí chlubit POSIX standardem, by však měly nabízet editor, který nepřívětivost vi naprosto bravurně překonává - řádkový editor ed. Komu ani ten k sebetrýznění nestačí, ten si může vyzkoušet jeho prehistorické verze z let 1975 a 1972, což uděláme právě teď.

    Raději hned zdůrazním, že cílem tohoto zápisku není seznámení čtenáře s editorem ed. To vám poskytne například článek “ed, textový editor do nepohody” nebo odkazy na konci zápisku.

    Editor ed napsal Ken Thompson a jeho historie se datuje až do roku 1969. Od té doby je nedílnou součástí Unixu. Moderní verzi edu pod hlavičkou GNU pravděpodobně máte nainstalovanou na svém systému. Nejjednodušší cestou, jak si vyzkoušet nějakou jeho starší verzi, je použít on-line emulátor počítače PDP-11. Ten obsahuje šestou edici Unixu z roku 1975.

    Pokud máte nutkání si vyzkoušet ještě starší verzi, cesta k ní je stejná jako v případě prvního překladače jazyka C zmíněná v tomto zápisku. Použít simulátor Apout a původní binární soubory k Unixu V1. Ty jsou z roku 1972.

    Hned ze začátku je třeba říct, že se tyto tři verze od sebe nijak extrémně neliší. Moderní ed se i od toho nejstaršího odchyluje jen v detailech, které z něj dělají o něco přívětivější kus softwaru.

    Ed je legendární svou minimální výřečností. Po spuštění nevypíše vůbec nic a když uživatel vykoná nějakou neplatnou operaci nebo se stane nějaká chyba, ed pouze lakonicky vypíše otazník. V takovém případě má uživatel moderního edu možnost zadat příkaz h, který poslední chybu popíše. Sice se i tak se moc nerozpovídá, ale většinou to stačí. Původní ed tuto možnost nemá.

    Stařičký ed rozhodně nepodceňuje míru vaší pozornosti a nesnaží se otravně přemýšlet nad tím, co jste vlastně chtěli udělat. Když tak například použijete příkaz q pro jeho ukončení, prostě se okamžitě vypne a nebude protestovat, ani když jeho buffer obsahuje neuložené změny. GNU ed vás očastuje otazníkem, pokud mu ukončení nevnutíte velkým Q.

    Z editoru můžete vykonávat příkazy shellu (pomocí příkazu “!”). Tato možnost je ve všech verzích, ale starší ed neměl možnost pracovat se shellem v příkazech pro čtení a zápis (r !command, w !command). Byli jste nuceni vytvořit si dočasný soubor. Režim “P” také chybí.

    Číslování řádků hraje v edu velmi důležitou roli. Proto je u starších verzí hodně citelná absence příkazu “n”, který vypíše požadované řádky s jejich čísli. Jedná se pravděpodobně o uživatelsky největší nedostatek historických variant edu. Zkratka ,p pro vypsání celého souboru v nich také nefunguje.

    Zapomenout musíte i na řadu dalších vymožeností GNU edu, jako je cut buffer (příkazy x a y), rolování (z) nebo spojování řádků (j). Neznají dokonce ani komentáře (dnes začínající znakem #). Množina příkazů, které je možné provádět globálně (pomocí g, v), je výrazně omezena a například v Unixu V1 příkaz pro substituci neměl možnost zadat na konci “/g” a tak se nahradil pouze první výskyt textu odpovídající hledanému výrazu. Na druhou stranu, regulární výrazy, i když oproti dnešku s menšími možnostmi, a třeba značky (příkaz “k”) jsou pro ně samozřejmostí.

    ed v Unixu V1 používal jinou notaci pro přechod na předchozí řádek (^). V šesté verzi už používal mínus a ^ zůstalo jen pro zpětnou kompatibilitu. Dnes už lze použít pro posun vzad jen mínus. Odlišné ve všech třech verzích je způsob výpisu netisknutelných znaků pomocí příkazu l.

    Ale to jsou v podstatě jen drobnosti. Editor ed se za těch 46 let alespoň z uživatelského hlediska v podstatě nezměnil. Z dnešního pohledu se ed může jevit jako něco, co vzniklo během pár probděných nocí jako rychlé nouzové řešení a shodou okolností se s tím musí lidé trápit ještě po bezmála půl století. Není tomu tak. ed je v podstatě dokonalým editorem, jen je ho třeba chápat ve správném dobovém kontextu.

    ed byl stvořen pro editování souborů uživateli používající k ovládání počítačů mechanické dálnopisy. Informace uváděné ve výše zmíněném článku na Rootu, který tvrdí, že ed vznikl jako náhrada pro vi na velmi pomalých linkách, je naprostý nesmysl. Už jen proto, že vi je z roku 1976.

    Dálnopis má řadu vlastností, které jeho použití nedělají právě příjemným. Dokáže vypisovat text jen omezenou rychlostí. Ta je sice svým způsobem obdivuhodná, ale u delšího textu člověk rychle pocítí, jak nedostatečná ve skutečnosti je. Jsou také značně hlučné. Každé zbytečně vytištěné písmenko si člověk rád rozmyslí. Jejich klávesnice nebývá ani rychlá, ani pohodlná, takže čím méně toho člověk musí napsat, tím lépe. V neposlední řadě potřebují spotřební materiál a papír a pásky do nich něco stojí. Na druhou stranu, to, co vypíší, už zůstává zachováno na papíře.

    To jsou vlastnosti, které formovaly uživatelské rozhraní editoru ed a dalších programů té doby. Samotné dálnopisy za sebou mají mnohem delší historii a dají se najít mechanické skvosty, které si vystačily jen s jedním motorkem a jedním relé.

    Je důležité si uvědomit, že v edu člověk většinou upravoval soubor, který už měl před tím vytištěný. Když chtěl jen opravit pár maličkostí v mnohastránkovém výpisu, prostě v edu zadal opravy na patřičných řádcích, sem tam něco dopsal a jednoduché drobné opravy prostě zároveň dopsal do výpisu ručně bez nutnosti vše zdlouhavě přetisknout. Soubory měl na papíře, což je na čtení velmi příjemné a ergonomické médium. Můžete se jím doslova obklopit, pokrýt pracovní stůl, snadno očima přejíždět mezi tucty funkcí. Pokud se naučíte v té hoře papírů udržet pořádek a orientaci, můžete být velmi efektivní.

    Navíc z ergonomického hlediska na tom nebudete vůbec špatně. Potištěný papír při přirozeném světle je pro oči rozhodně přívětivější než obrazovky na nízkých frekvencích v letech následujících. Papír vám dává možnost rychle doplňovat poznámky, přičrtnout kresbičku nějakého grafu, prostě pracovat velmi přirozeně způsobem, na který lidé tenkrát byli zvyklí od chvíle, kdy poprvé vzali do ruky pastelku.

    Většinu času programátor nepíše kód, ale čte jej. V tomto ohledu na tom lidé tenkrát mohli být lépe než dnes. Když už došlo na psaní, komplikovanější byly v podstatě jen opravy. Historii všeho, co jste udělali, jste měli na papíře. Nechci tehdejší způsob práce nijak idealizovat, ale tohle vše vysvětluje, jak tenkrát vůbec byli schopni i s tak primitivními prostředky efektivně pracovat.

    ed byl stvořen lidmi, kteří měli dostatek zkušeností s prací v takových podmínkách a velmi přesně věděli, co potřebují. Editor musel být malý a pohotový, aby byl i na dobovém hardwaru rychle a kdykoliv k dispozici. Musel vypisovat co nejméně nesouvisejícího textu. Když jste udělali chybu jako přechod před první řádek, většinou jste si ji stačili uvědomit dříve, než by vám dálnopis vypsal její popis. Zdržoval by vás tím. Byl navržen k rychlé navigaci v souborech, které leží vytištěné vedle dálnopisu. Ve svém hájenství je to vynikající editor. Už v roce 1972 byl výborný a dnešní moderní GNU verze jej posunula ještě o kus blíže k dokonalosti.

    Výhody edu se ale začnou rychle ztrácet, jakmile začnete používat místo dálnopisu terminál s obrazovkou. I když můžete pracovat jen s jediným editačním řádkem, ed už vám neposkytne nejlepší myslitelný komfort. Jestliže lze psát text kamkoliv na obrazovku, používat ed prakticky ztrácí smysl. Snad jen v případech, kdy každý přeneseny byte má cenu zlata nebo kdy nic lepšího není k dispozici. Jiné interaktivní použití edu zavání masochismem, snad s výjimkou procvičování se v příkazech spřízněného programu sed.

    Editor ed je krásnou připomínkou toho, že kontext je vším. Program, který má pověst jednoho z nejděsivějších ve své kategorii, může v jiném kontextu excelovat. Malá poznámka k tomu, jak historický kontext ovlivňuje ten budoucí. Díky tomuto krátkému výletu to historie jsem také pochopil, proč původní verze jazyka C nepoužívaly znaky # a @, ač by šly použít třeba pro jednořádkové komentáře (původní verze C neměly preprocesor). Jednoduše tehdeší dálnopisové terminály k PDP-11 používaly # jako náhradu za backspace a zavináč sloužil k ignorování dosavadního obsahu řádku.

    ed manuál: https://www.gnu.org/software/ed/manual/ed_manual.html

    manuál k verzi z Unix V6: http://man.cat-v.org/unix-6th/1/ed

    manuál k verzi z Unix V1: http://man.cat-v.org/unix-1st/1/ed

           

    Hodnocení: 100 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    15.8.2018 08:27 PetrHL | skóre: 17 | blog: petr_h | Neratovice
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Díky za pěkné povídání, dobře se to čte.

    Váš blog post by klidně mohl vyjít na hlavní straně jako článek.
    "Do, or do not. There is no 'try.'" -- Jedi Master Yoda | CQRLOG | CQRPROP | HamQTH | Domů
    17.8.2018 10:58 nemám čas se přihlásit
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Taky mne napadlo, jestli by nestálo za to "automaticky" z některých otučňákovaných blogů udělat články a autorům třeba poděkovat finančně (i když méně než za celý článek). Ale asi by to někdo musel upravit do "článkové" podoby ...
    Bystroushaak avatar 25.8.2018 13:23 Bystroushaak | skóre: 36 | blog: Bystroushaakův blog | Praha
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Ono to „poděkování finančně“ není zas tak triviální, musí se to danit a musíš jasně vyfakturovat komu že to děkuješ. Spousta autorů zde jméno nesdílí, natožpak další informace.

    Co se mě týče, tak nad článkama nemám jako autor žádnou kontrolu, proto to sem vysloveně dávám jako blogy. To by mohlo spoustě lidí vadit. Myslím tím, že to nemůžeš upravit, ani když tam najdeš třeba chybu. Jediný způsob jak na to je poslat zprávu adminům. A taky když dostaneš za něco zaplaceno, tak se většinou chápe, že to nebudeš publikovat jinde. Což může taky spoustě lidí vadit.

    Osobně bych se na nějaké články vykašlal, ale tučňákové blogy bych zvýraznil podstatně víc.
    15.8.2018 08:54 Want
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    O ed na wikibooks.
    15.8.2018 16:33 Radovan
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Je vidět že čteš diskuze :-D

    Kdysi, když jsem si přečetl ten článek na Rootu, mi připadalo že s tímhle psát musí být docela hrůza. Ale když jsem pak byl "donucen" si ed vyzkoušet a něco malého v něm napsat (což se mi asi na desátý pokus skutečně povedlo), tak jsem zjistil že je to vlastně docela použitelný program.
    15.8.2018 19:48 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Na tom emulátoru PDP-11 jsem si hrál s edem už dávno, jen mě tvůj komentář utvrdil v tom, že nejsem jediný, kdo tak uvažuje, a řekl jsem si, že bych mohl zkusit i verzi z V1, když je to tak snadné.
    I'm sure it crashed in the most type-safe way possible.
    15.8.2018 22:39 Radovan
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    +1

    A těším se na další kapitolu :)
    15.8.2018 19:17 debian
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Vo vete mas rozpor (tucnym):

    Díky tomuto krátkému výletu to historie jsem také pochopil, proč původní verze jazyka C nepoužívaly znaky # a &, ač by šly použít třeba pro jednořádkové komentáře (původní verze C neměly preprocesor). Jednoduše tehdeší dálnopisové terminály k PDP-11 používaly # jako náhradu za backspace a zavináč sloužil k ignorování dosavadního obsahu řádku.
    15.8.2018 19:43 Pavel Křivánek | skóre: 29 | blog: Kvičet nezávaznou konverzaci
    Rozbalit Rozbalit vše Re: ed - téměř dokonalý editor
    Diky, opraveno. Neměl bych ty zápisky dokončovat tak pozdě v noci ;-)
    I'm sure it crashed in the most type-safe way possible.

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.