Společnost JetBrains uvolnila Mellum, tj. svůj velký jazykový model (LLM) pro vývojáře, jako open source. Mellum podporuje programovací jazyky Java, Kotlin, Python, Go, PHP, C, C++, C#, JavaScript, TypeScript, CSS, HTML, Rust a Ruby.
Vývojáři Kali Linuxu upozorňují na nový klíč pro podepisování balíčků. K původnímu klíči ztratili přístup.
V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Emacs je jedním z nejstarších textových editorů. Jeho prvopočátky lze vystopovat až do roku 1970, k editorům TECO a E.
Nejprve se podíváme na TECO. Vznikl na půdě MIT zdokonalením staršího textového editoru používaného na počítači PDP-6. Práce s ním nebyla nijak intuitivní. K vytvoření či editaci souboru bylo nutno zadávat příkazy, které realizovaly jednotlivé úpravy. Richard Stallman později přirovnal práci s tímto programem k hraní šachů se zavázanýma očima.
Významný krok vpřed přinesla možnost upravit chování editoru pomocí maker. Právě tato vlastnost, která se později stala charakteristickou i pro Emacs, mu dala jméno – Editor MaCroS. Ovšem s rostoucím věhlasem Emacsu se objevila i další vysvětlení původu jeho jména, ty nejpopulárnější naleznete zde: http://www.acronymfinder.com/Slang/EMACS.html.
Ačkoliv TECO ve své době představoval značný posun v před, hlavně díky vlně inovací, kterou nastartoval, stále se jednalo o editor, jehož ovládání bylo na hony vzdáleno tomu, co je dnes považováno za standard.
Později v roce 1976 Richard Stallman navštívil laboratoř umělé inteligence na universitě ve Stanfordu, kde se setkal s editorem E. Ten zaujal jeho pozornost tím, že umožňoval editovat text přímo tak, jak jste jej viděli na obrazovce, bez nutnosti přecházet mezi příkazovým a editačním režimem, jak tomu bylo u editoru TECO. Jednalo se o jednoho z prvních předchůdců dnešních WYSIWYG (Co vidíš, to dostaneš) editorů.
Makra se stala velmi populárními, což sebou neslo některé nevýhody. Největší z nich bylo to, že pokud jste si sedli k terminálu někoho jiného, obvykle jste první hodinu strávili tím, že jste zjišťovali, co které makro dělá, protože neexistoval žádný standard pro tvorbu maker a téměř žádná dokumentace krom zdrojového kódu.
Řešení tohoto problému se ujal Guy Steele, další hacker z MIT, specialista na programovací jazyky. Shromáždil nejpoužívanější makra a vytvořil k nim dokumentaci. Tento projekt zaujal pozornost Richarda Stallmana, který se do něj intenzivně zapojil. Sám Guy Steele o své práci řekl: „Tím chci říct, že jsem udělal 0.001 implementace a Stallman ten zbytek“. Později byl výsledný projekt přejmenován na Emacs.
Emacs se během svého vývoje stal něčím víc než jen obyčejným kusem softwaru. Je neoddělitelně spjat s tím, čemu se říká svobodný software.
Pod pojmem „Svobodný software“ si dnes většina lidí představí nějaký program, který je dodáván zdarma, ale není tomu tak. Ona „svoboda“ spočívá v možnosti program sdílet a upravovat, nikoliv v tom, že za jeho pořízení nemusíte platit.
Dokonce sám Richard Stallman si po svém odchodu z MIT v roce 1984 vydělával na živobytí tím, že prodával pásky s Emacsem cca. po 150 dolarech za kus. Sám k tomu na jedné z pozdějších přednášek řekl toto:
„…Musel jsem propracovat detaily distribuce. Samozřejmě, umístil jsem kopii na anonymní FTP server [Anonymní FTP server znamená, že k němu může přistupovat každý. Můžete z něj stahovat data, aniž byste potřebovali znát heslo. – pozn. překl.] a to bylo skvělé pro lidi na síti, mohli si prostě stáhnout soubor .tar a nainstalovat, ale hodně programátorů tehdy v roce 1985 ještě přístup k síti nemělo. Posílali mi maily: ,Jak můžu získat kopii?‘ Musel jsem se rozhodnout, co jim budu odpovídat. Ok, mohl jsem říci, že chci trávit svůj čas děláním GNU softwaru, ne děláním pásek, tak ať poprosí přítele, který je na síti, aby jim to stáhl na pásku. Jsem si jist, že lidé by našli takové přátele. Dříve, či později. Získali by ty kopie, ale já v té době neměl žádné zaměstnání. Ve skutečnosti jsem nikdy neměl žádné zaměstnání od té doby, co jsem v lednu 1984 opustil MIT. Hledal jsem tedy nějakou cestu, jak bych si mohl vydělat nějaké peníze prací na svobodném software, a proto jsem odstartoval obchod se svobodným softwarem. Oznámil jsem: ,Pošli mi 150 dolarů a já ti pošlu pásku s Emacsem.‘ A tak mi začaly chodit první objednávky a v polovině roku už jich bylo docela dost…“
Úvod máme za sebou. Nyní se pustíme do konfigurace. Připravte se na to, že ovládání tohoto stařešiny mezi editory je na míle vzdáleno tomu, co se dnes považuje za standard. V tomto článku se pokusím poskytnout malý návod na to, jak si tento editor nakonfigurovat tak, aby se stal platným pomocníkem.
Nastavení editoru lze provést dvěma způsoby: Buď jej můžete naklikat přes nabídku Options, kterou naleznete v horním menu, nebo můžete editovat konfigurační soubor .emacs ve vašem domácím adresáři.
Syntaxe tohoto souboru vám bude pravděpodobně připadat exotická. Jde vlastně o sadu příkazů v jazyce Lisp. Tento jazyk našel své využití při vytváření umělé inteligence, ale nejen tam. Z Lispu vzešel např. jazyk Logo.
Nyní se podíváme na konfigurační soubor. Stačí jej pouze zkopírovat a restartovat editor.
;;Nastavuje textovy mod jako hlavni (setq default-major-mode 'text-mode) ;;Nastavuje zalamovani radku v textovem modu (add-hook 'text-mode-hook '(lambda () (auto-fill-mode 1))) ;;Nastavuje spusteni kontroly pravopisu (add-hook 'text-mode-hook '(lambda () (flyspell-mode 1))) ;;Pouziti ceskeho slovniku pro kontrolu pravopisu (set-default 'ispell-local-dictionary "czech") ;;Nastavuje „zkratkovy mod“ (add-hook 'text-mode-hook '(lambda () (abbrev-mode 1))) ;;Povoluje pouziti schranky. Pozor! Bez tohoto nefunguje cua-mode (setq x-select-enable-clipboard t) ;;Nastavuje cua-mode „kopirovani ctrl-c, vkládání ctrl-v“ (add-hook 'text-mode-hook '(lambda () (cua-mode 1)))
Pokud se vám po restartu editoru zobrazí nějaká chybová hláška, nejprve zkontrolujte, zda je vzorový text zkopírován správně (Lisp je jazyk oplývající neskutečným množstvím závorek a omylem jednu neoznačit je velmi snadné).
Při testování na Fedoře 10 mi nadělal dost starostí problém s kontrolou pravopisu, který se projevoval chybovou hláškou: Enabling Flyspell mode gave an error.
K vyřešení problému bylo třeba doinstalovat program aspell a do souboru .emacs přidat:
;;Ke kontrole pravopisu bude pouzit „aspell“ (setq-default ispell-program-name "aspell")
Doufám, že se vám novou konfiguraci podařilo načíst bez problémů. Nyní můžeme přejít k základnímu ovládání editoru.
Nejprve si vytvoříme textový soubor. To provedete pomocí klávesové zkratky ctrl-x ctrl-f. Emacs vypíše hlášku Find File: ~/Desktop/. Pak stačí napsat název souboru s příslušnou koncovkou, například .txt nebo .html. Uvést příslušnou koncovku je vhodné, protože Emacs podle toho rozpozná, o jaký druh souboru se jedná, a spustí dodatečné funkce, např. zvýrazňování syntaxe v HTML nebo v C.
V předchozím příkladě jsme vytvořili soubor v adresáři Desktop, tedy na vaší ploše. Napište do něj nějaký text a pomocí další klávesové zkratky Ctrl-x Ctrl-s nebo přes ikonu v horní liště jej uložte.
Emacs zvládá i několik operací se soubory. Abyste je mohli provést, zadejte příkaz Ctrl-x -d. Po zadání tohoto příkazu se vám zobrazí toto: Dired (directory): a název aktuálního adresáře. Nyní stiskněte klávesu Enter. Zobrazí se vám seznam adresářů. Můžete se v něm pohybovat pomocí kurzorových šipek a klávesy Enter. Jakmile se dostanete na požadovaný adresář, vstupte do něj Enterem a pomocí známe zkratky Ctrl-x Ctrl-f vytvoříte soubor.
Před chvílí jsme si vytvořili náš první soubor, nyní se podíváme na základní operace s textem. Asi nejčastější je práce s bloky. Lze ji realizovat dvěma způsoby.
Buď pomocí takzvaného CUA-modu, který jsme si nastavili v konfiguračním souboru, nebo pomocí postupu, který je v Emacsu standardní.
CUA-mod se chová stejně, jako jste zvyklí například z Wordu nebo OpenOffice.org Writeru. Blok můžete označit pomocí myši. Stejně tak předvidatelně se chová i schránka, text zkopírujete pomocí ctrl-c a vložíte pomoci ctrl-v.
Jen pro úplnost přikládám i čistě emacsovou variantu. Napište si několik řádků textu, přesuňte se na začátek prvního a zmáčkněte ctrl a mezerník. V okénku ve spodní části obrazovky s vám zobrazí hláška mark set. To znamená, že počátek bloku je vyznačen. Potom si najeďte na konec odstavce a zmáčkněte kombinaci alt-w. Tím jste si označený text zkopírovali. Kurzor vám na chvilku odskočí na začátek odstavce – bloku a pak se hned vrátí na konec. Tím máme vyznačeno a text, který jsme si vzali příkazem alt-w do schránky, můžeme vložit pomocí klávesové zkratky ctr-y. Samozřejmě celou operaci je možno provést i za pomoci myši, tak jak jste zvyklí.
Na závěr si ukážeme, jak se pohybovat v textu, tedy jinak, než pomocí kurzorových šipek.
Posuny po řádcích
C-p
Posun o jeden řádek výšC-n O
Posun o jeden řádek dolůC-a
Posun na začátek řádkuC-e
Posun na koncec řádkuPosuny po znacích
C-f
Posun o jeden znak dopředuC-b
Posun o jeden znak dozaduPosuny po slovech
M-f
Posun o jedno slovo dopředuM-b
Posun o jedno slovo dozaduDoufám, že vám tento krátký text ulehčí první kroky v Emacsu. Tento editor je sice dnes již poněkud ve stínu svého známějšího soka editoru VIM, ale rozhodně stojí za bližší seznámení.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
aptitude install emacs
(jo, čekám kolik mamlasů zase napíše "proč tam instaluješ další OS, když už tam jeden máš..."). U emacs mi vyhovuje (mimo jiné) automatický odsazovaní kódu, taková první kontrola jestli mám uzavřený cykly atd. Dál to je například označení a vyjmutí vertikálního bloku dat Ctrl-x-r-k
a jeho následné vložení Ctrl-x-r-y
. Je toho plno, a proto se těším na další díly seriálu.
Já sám sice používám Vim, ale o GNU Emacsu si velmi rád počtu.
Ono, čistých "emacsistov" zas tak moc asi nie je. Osobne všetci, ktorých poznám, ovládajú vim aspoň tak ako bežní "vimári." Možno to bude tým
viper-mode
pre emacs = klávesové skratky a editácia ako vo vi + všetky ostatné výhody emacsu
Doplňování není o tom, jaké máš pojmenování. Je to o tom, jaké pojmenování má někdo jiný, například autor knihoven, které používáš. Místo zoufalého klikání v Doxygenu/Javadocu se prostě s celým API příslušné knihovny seznámím za pár minut. Zkusím něco napsat a hned vidím, jaké zajímavé funkce mi to nabídne, samozřejmě včetně kompletní dokumentace. Tohle ale pořádně umí jen Eclipse (pro C, C++, Javu, Python a spoustu dalších jazyků). Možná ještě Qt Creator má pěkné doplňování, ale pouze pro C a C++, pokud vím. Tím výčet použitelných open-source IDE končí. Ještě možná NetBeans... Jenže Swing je hnus, nedá se na to koukat.
Podle mě Emacs není IDE a tudíž je zbytečné po něm chtít tyto pokročilé funkce. Je to prostě editor, který se hodí pro editaci několika konfiguračních souborů, případně pro velmi malé projekty.
Někdo tu určitě zas bude vykřikovat, kolik vývojářů kernelu či jiného velkého projektu používá Emacs. Ale to je prosím pěkně jejich věc, jejich volba. Pokud někdo cestuje například z Prahy do Paříže, může tam letět letadlem nebo jet na koloběžce. Obojí je možné, ale koloběžka (Emacs) bude vždy méně pohodlná a méně efektivní než letadlo (pořádné IDE). Nicméně jen ať si každý používá, co se mu zlíbí. Pokud si někdo umí tu koloběžku vytunit tak, aby byla rychlejší než letadlo, nevidím v tom žádný problém.
Po pár týdnech si to už člověk zapamatuje, to rád věřím. Nicméně jiná je situace, když se musím poprat s projektem, který má 200000 řádků, je hnusně napsaný a používá cca 40 externích knihoven. Tam je automatické doplňování prostě k nezaplacení, protože na zapamatování něčeho takového mi nezbývá čas a síly už vůbec ne.
Ještě možná NetBeansMožná? Netbeans mi přijdou z těch IDE, které jsi vyjmenoval, nejlepší.
Jenže Swing je hnusCo máš proti Swingu?
K čemu to je? Souvisí to snad nějak s tématem? Kdepak, mimo mísu.
Mně je přece jasné, že Eclipse má skvělé doplňování. Pointa byla v tom, že Emacs ani vim nic takového nemají. Samozřejmě, že když budu v Eclipse používat nějakou napodobeninu vimu, doplňování tam bude taky. Jak to ale souvisí s Emacsem? Jak to souvisí s (neexistujícím) doplňováním v Emacsu? Jak to souvisí s (neexistujícím) doplňováním ve vimu? Nijak, že ano.
Kromě toho, já osobně bych si nerad zasíral Eclipse — normální dnešní kvalitní IDE — napodobeninami nějakého editoru z minulého století určeného pro androidy, případně jiné roboty. Ale proti gustu žádný dišputát, samozřejmě.
Dřevorubec jste podle mého názoru vy. Klidně si používejte nástroje z minulého století. Jak už jsem psal, proti gustu žádný dišputát. My, kteří potřebujeme pracovat efektivně a nemáme rádi styl „udělej si sám“, budeme prostě používat pořádné IDE. Nadávat někomu do dřevorubců jen proto, že chce používat dnešní technologie a ne vykopávky, je poněkud přehnané. Můžete třeba používat pěstní klín a žít v jeskyni, ale nevnucujte to prosím ostatním.
Ne, Emacs nemá auto-completion. Jestliže tvrdíte opak, nejspíš netušíte, o čem je řeč. Můžete mi prosím poslat odkaz na screenshot, kde Emacs automaticky nabízí doplňování ze všech (a právě všech) identifikátorů dostupných v daném kontextu a zobrazuje k nim automaticky doxygen/javadoc, případně náhled zdrojáku? Emacs nic takového nemá. Dřevorubec si může myslet, že sekera je rychlejší než motorová pila. Jenže není to pravda.
Budu upřímný. Právě jste předvedl hloupou a podrážděnou reakci někoho, kdo si nepřečetl, o co tu jde. Tvrdit o někom, že prd ví, je opravdu zářný příklad korektního stylu vedení diskuse. Všechna čest.
Z architektury a implementace předpotopního software se sice dá mnohé naučit (a nepochybně se z ní dnešní IDE učí), ale to neznamená, že by měl někdo takového kostlivce nějakým způsobem přenášet do dnešních IDE. Dnešní IDE už jsou pro lidi, ne pro „člověkostroje“. Původní editory vznikaly v době, kdy byl čas strojů drahý a čas lidí relativně levný. Proto už v dnešní době nemohou obstát. Dnes je čas strojů skoro zdarma, zatímco čas lidí je relativně drahý. Architektura Emacsu může být skvělá, ale neodpovídá době. Je to asi jako byste navrhl budovu a pak zjistil, že má stát na planetě s dvakrát silnější gravitací. Sebelepší návrh je vám v tu chvíli k ničemu a je třeba začít znova.
O vyspělosti IDE se s vámi přít nebudu. O tom se dá diskutovat jedině s někým, kdo aspoň jedno IDE dobře zná. Kromě toho, snaha srovnávat IDE s editorem je tak jako tak přitažená za vlasy. IDE je luxusní limuzína, editor je kolo. Mají relativně málo společného a nemá smysl tvrdit, že to či ono je vyspělejší, lepší a podobně. Editor prostě nesahá IDE ani po kotníky, pokud jde o některé pokročilé vlastnosti, ale je spousta situací, kdy se hodí mnohem lépe. Kvůli úpravě
/etc/hosts
asi nebudu startovat Eclipse.
A vůbec, ať si každý používá, co chce a v čem (si myslí, že) dokáže pracovat efektivně. Tyhle rozepře nedávají smysl.
Tohle je nejhůř zdůvodněný argument, jaký jsem vůbec kdy četl.
Neuraz sa, ale ty si neskutočný kus zadubenca. Najprv si niečo o problematike naštuduj, kým sa k nej chceš vyjadrovať (a navyše tučným písmom). Čo na tom, že emacs je z minulého storočia? Linux snáď nie je (ak mi povieš, že jadro 2.6 je z tohto storočia, tak ja ti poviem, že ostatná verzia Emacsu tak isto)? Je to dostatočný dôvod používať windows 7? Tvoja argumentácia je neskutočne primitívna. Emacs ti nikto nevnucuje, ale rovnako tak nevnucuj ty svoje stupídne a ničím nepodložené názory ostatným Naopak, skús trochu počúvať názory ľudí, ktorí skúsili obrovské množstvo editorov a IDE a nakoniec skončili napríklad pri vhodne nakonfigurovanom vime/emacse, lebo je skrátka najlepší (toto je subjektívne, takže brať s nadsádzkou). Možno by si sa naučil niečo užitočné
Samozrejme, to isté platí aj pre druhú stranu, ak neskúsila Eclipse, NetBeans, whatever. Ja som ich skúsil a stáli za hovno (a to je ešte slabý výraz).
Emacs ti nikto nevnucuje, ale rovnako tak nevnucuj ty svoje stupídne a ničím nepodložené názory ostatným
Výborně. Tady předvádíš naprosto skvělý styl argumentace a vedení diskuse. Ale jsem rád, že jsem rýpl do vosího hnízda.
Najprv si niečo o problematike naštuduj, kým sa k nej chceš vyjadrovať (a navyše tučným písmom).
Nápodobně.
Čo na tom, že emacs je z minulého storočia? Linux snáď nie je (ak mi povieš, že jadro 2.6 je z tohto storočia, tak ja ti poviem, že ostatná verzia Emacsu tak isto)? Je to dostatočný dôvod používať windows 7?
Dobře, tedy polopatě. Je úplně jedno, kdy vznikla jaká verze. Emacs a spousta jiných starších programů pochází z doby relativně levného času lidí a velmi drahého času strojů. V dnešní době je situace zcela opačná. Čas strojů je velmi levný, zatímco čas lidí je v podstatě to nejdražší, za co dnes firmy platí. Programy navržené pro první zmíněnou situaci těžko obstojí v té druhé. Toť vše.
Operační systémy bych do toho netahal. Jak víme, operační systém se nezabývá žádnou přímou interakcí s uživatelem. Můžeme se bavit o shellu nebo o různých GUI, ale argument s operačními systémy je dost mimo mísu. Ano, UNIX i Windows NT (které sice vystřídaly už několik kernelů, ale to teď neřeším) jsou ve své podstatě systémy z minulého století. Možná někdo vymyslí časem něco lepšího, možná ne. Zato v případě těch editorů už byla různá lepší (čti efektivnější, zajímavější, pohodlnější) řešení navržena několikrát.
Názorů lidí, kteří vyzkoušeli a důkladně poznali a pochopili spoustu editorů a IDE a skončili u Emacsu, bych si nesmírně vážil. Kdybych ovšem takové lidi znal. Existují takoví lidé vůbec? Pardon, tohle beru zpět, asi existují. Já znám hodně lidí, kteří buď od vimu přešli k Eclipse (což mě nepřekvapuje), nebo dlouho používali vim (či Emacs), jednou Eclipse zkusili, pět minut klikali, něco se jim tam nepodařilo nastavit a od té doby na Eclipse pouze nadávají, aniž by věděli, o čem to celé je.
Možno by si sa naučil niečo užitočnéSamozrejme, to isté platí aj pre druhú stranu, ak neskúsila Eclipse, NetBeans, whatever.
S tímto souhlasím.
Ja som ich skúsil a stáli za hovno (a to je ešte slabý výraz).
A tohle je přesně ten problém, o kterém jsem psal výše. Vyzkoušel většinou neznamená poznal nebo pochopil. Chtělo by to nějaké přesnější argumenty, co tam nešlo, v čem byl problém, co se nepodařilo nastavit a podobně. NetBeans příliš podrobně neznám, ale v případě Eclipse si troufám tvrdit, že u většiny připomínek bych nakonec našel chybu mezi židlí a klávesnicí.
Já si taky můžu myslet, že některé editory jsou na hovno, ale nikomu to necpu. Záleží na tom, co je pro koho vhodné. Například vim a Emacs jsou pro lidi na hovno, zatímco pro androidy a jiné roboty (typu Terminátor) jsou prostě skvělé. Sorry, předcházející větu prosím nikdo neberte dosloval. Opět jsem se nechal unést, podobně jako můj předřečník.
Tón a kvalita argumentácie sú prispôsobené tvojmu tónu
Aké nápodobne? Ja sa nevyjadrujem o veciach, o ktorých nič neviem (a ešte k tomu tučne). Žiadnu podobnosť s tvojím vyjadrením o doplňovaní v emacse a o jeho veku som vo svojom príspevku nenašiel
Je pravda, že tie systémy vznikli v čase slabých strojov, ale to ešte neznamená, že by preto mali byť nevhodné pre ľudí. Aj keby tie počítače pracovali s reakčnou dobou 100ms, tak je to pre človeka dostačujúce. 100GB RAM a reakčná doba 1ns ti ako používateľovi editoru neprinesie nič nové. Podľa mňa je skôr opak pravdou. Dokonca existuje štúdia o editoroch, ktorá celkom slušne dokumentuje, prečo je sú editory typu emacs a vim (to je, editory silne založené na príkazoch z klávesových skratiek) pre človeka (programátora) oveľa výhodnejšie než bežné editory. Na požiadanie ti dám link (budem to musieť chvíľu hľadať). Existuje podobná štúdia o Eclipse?
A predpokladám, že ty si emacs pochopil dôkladne do hĺbky, a z toho dôvodu sa o ňom vyjadruješ tak, ako sa vyjadruješ. Je to tak?
Je to samozrejme možné. Nepodarilo sa mi ani z jedného z nich spraviť editor textu (príkazy obmedzujúce sa prakticky na notepadový pohyb po jednom znaku plus pár ďalsích fakt nie sú ideálne pre človeka zvyknutého z poriadneho editoru na milión príkazov s ktorými sa dá spraviť prvé posledné).
Ja som to nikomu necpal, len som vyjadril svoju subjektívnu skúsenosť Ale ty tu zjavne proklamuješ, že emacs je na hovno už proste z toho dôvodu, že má 30 rokov, čo je teda argument jak delo...
Dokonca existuje štúdia o editoroch, ktorá celkom slušne dokumentuje, prečo je sú editory typu emacs a vim (to je, editory silne založené na príkazoch z klávesových skratiek) pre človeka (programátora) oveľa výhodnejšie než bežné editory.Mně přijde hloupé tohle dělení na buď a nebo – buď vim/emacs nebo „běžný editor“. To, že můžu někde používat efektivně klávesové zkratky ještě neznamená, že ten editor musí mít neobvyklé (alespoň pro většinu lidí) a uživatelsky nepřátelské rozhraní (a už vůbec nemusí běžet v příkazové řádce). Myslí, že takový jEdit je toho dobrým důkazem – můžeš si tam nastavit klávesové zkratky (hodně jich tam už je) pro každou akci, plugin nebo vlastní makro. Klidně i složitější zkratky typu Ctrl+x a následně Ctrl+y… svým způsobem tam jde udělat i něco jako příkazový režim vimu. A přitom je to editor, ke kterému můžeš posadit obyčejného uživatele a on s ním bude úplně normálně pracovat, jako s notepadem, prostě mu ty pokročilé funkce a rozsáhlé možnosti nebudou nijak překážet. Křivka učení mi u jEditu přijde mnohem lepší než u vimu nebo emacsu – prostě ten editor začneš používat, sedneš si k němu poprvé bez nějakých zvláštních znalostí, a postupně se učíš nové a nově věci, pracuješ efektivněji – ale zároveň tě ten editor neotravuje svým obskurním ovládáním.
No, lenže v tom prípade je jEdit editor v štýle vim/emacs a ja proti nemu nič nemám To delenie vzniklo preto, že BFU si pod editorom predstaví notepad, alebo word, alebo trochu komplikovanejší variant v nejakom IDE, v ktorom je absolútne nemožné efektívne pracovať (z pohľadu používateľa silnejších editorov). Absolútna ovládateľnosť príkazmi je ešte stále pomerne unikátna vlastnosť pár editorov s malou používateľskou základňou, než aby bol dôvod to takto nedeliť.
K tomu emacsu: nebeží len v príkazovej riadke, ale dá sa spustiť aj v okne (rovnako tak gvim). A úplný začiatočník v ňom môže tiež pracovať v tom okne s tlačítkami save/open/close okamžite. Ja teda osobne neberiem ani argument o zložitosti vimu alebo emacsu v príkazovej riadke (skutočne je také ťažké naučiť sa _tri_ prikazy pre to open/save/close, prípadne vo vime ešte prepínanie medzi command a insert módom? Pritom zvlášť predpokladáme, že ide o editor pre _programátora_, čo by mal byť v mojej naivnej predstave vcelku bystrý človek... no nič). Ale k tomu sa hodí podotknúť to, čo tu niekto písal teraz v blogu o príkazovej riadke: ľudia radšej strávia trikrát viacej času neefektívnym klikaním, než jednorázovým prečítaním dokumentácie, ktorá im dá podstatne viac. Holt, je to o voľbe, zábava vs. vedomosti.
dopĺňať aj symboly v danom kontexte nevalidnéA o tom to je – aby člověk nebyl zahlcený nesmyslnými daty. Aby ti editor nabídl relevantní nápovědu. Např. když budu upravovat XML, tak chci, aby mi nabízel atributy a elementy, které jsou v daném kontextu platné – a ne milion nějakých slov, která nepotřebuji (ale náhodou se někde v nějakém dokumentu vyskytují, tak mi je nabídne).
Poznámka: ale to nie je otázka kvality editoru, ale len jeho pluginu (teda s triviálnou podmienkou, že editor dostatočne modulárny, aby napísanie takého pluginu umožňoval).
No, neviem, či je zrovna bash ideálny programovací jazyk pre editor, ale proti gustu žiadny dišputát
new NováTřída();
, tak mi IDE kód podtrhne jako neplatný, ale nabídne mi, že tuhle novou třídu vytvoří (založí nový soubor, dá do něj kostru dané třídy, takže nemusím nic opisovat).
Kecy a zase jenom kecy!
Nejčastěji se setkávám s C++ a C, takže zase jste úplně zoufale vedle. Jak už jsem někde psal, i kernel pro MIPS jsem kdysi programoval v Eclipse. Mimochodem, kernely se nepíšou v Javě. (To jen tak pro jistotu a pro úplnost.) Jestli si myslíte, že Eclipse je výhradně pro Javu, jen ukazujete, že jste ho neviděl ani z rychlíku.
Screenshot vám nedodám ...
Aha! Tím je řečeno vše. Tady bychom v podstatě mohli diskusi ukončit.
... a dokonca aj v komentároch ...
Nutná samozřejmost, nic zvláštního. Nebo si snad myslíte, že Eclipse neumí automaticky vytvořit Doxygen/Javadoc se všemi tagy? Samozřejmě ho též automaticky edituje při změně deklarace funkce/metody, pokud se tím neztrácí už napsaný text; v opačném případě upozorní na nesrovnalosti. Přece nebudu ve 21. století psát Doxygen od píky! I v normálních komentářích doplňuje, což ale umí i KWrite... (Tím chci naznačit, že nejde o něco, čím by se editor mohl vychloubat. Je to prostě nezbytnost.)
... Dokonca (aká to drzosť) mi umožňuje dopĺňať aj symboly v danom kontexte nevalidné ...
Zase naprostá samozřejmost. Ve většině jazyků se navíc prakticky nedá rozhodnout, které symboly jsou zrovna validní a které ne. Že se různé filtrování dá vypnout a přepnout na prosté řazení podle abecedy, to asi taky nemusím zdůrazňovat.
A na tie vaše pomocné kartičky využíva browser a remote-url-open (a predpoklad, že svoje remeslo ovládate).
Tedy musí běžet externí aplikace, dokonce celý browser, a s tím souvisí přepínání mezi plochami či okny a velká spousta zdržení.
U toho ovládání řemesla bych se rád ještě pozastavil. Někteří lidé si pletou ovládání řemesla s pamětí na digitální data. Například chcete do projektu přidat nějakou knihovnu. Něco si o ní přečtete, trochu dokumentace, několik příkladů... Ale ruku na srdce, když se pak vrátíte zpět ke zdrojáku, znáte celé API té knihovny napaměť? Opravdu si naprosto přesně pamatujete význam všech parametrů i návratových hodnot? Troufám si tvrdit, že ne! Prostě proto, že kompletní Doxygen/Javadoc asi nikdo není schopen přečíst a příklady, na které se podíváte, zdaleka nevyužívají všechny možnosti. A tohle je ten okamžik, kdy sofistikované automatické doplňování přijde setsakra vhod. Můžu si v podstatě přímo prohlédnout všechny možnosti, které knihovna nabízí, včetně dokumentace, a nemusím někde hledat nebo nahlížet do prohlížeče! To je obrovské plus.
Emacs je jednoducho stará škola, predpokladá, že človek, čo ho používa aj vie, čo robí. Ale, kto neskúsil, neuverí
Ale ta poslední věta je opravdu trefná. Mám totiž pocit, že kdykoliv někdo zmíní Eclipse, pak všichni, kteří Eclipse nikdy nezkusili, případně měli zrovna špatný den a nepodařilo se jim naklikat to či ono nastavení, začnou na Eclipse okamžitě plivat síru a oheň. A to je stejně neobjektivní jako mé popichování kolem Emacsu.
Já ani slovem netvrdím, že Emacs je špatný. Na malé projekty, případně na editaci nějakých konfiguračních souborů se jistě hodí. Když potřebuju naštípat dříví do krbu, vezmu si sekeru (Emacs) a budu spokojený. Naopak na pokácení celého lesa sáhnu po jiné mechanizaci (větší IDE). Nic proti Emacsu nebo jeho uživatelům. Znám jednoho podivína — javistu, který používá GVim. Všechno je možné.
K čemu to je? Souvisí to snad nějak s tématem?Souvisi to s tim tak, ze ve vimu pak mate naprosto identicke doplnovani jako v eclipsu, protoze to pouziva kod eclipsu.Kdepak, mimo mísu. Jak to souvisí s (neexistujícím) doplňováním ve vimu? Nijak, že ano.
No ale to je tak trochu nesmysl. Když to používá kód Eclipsu, pak to není ve vimu. Jinými slovy, když si v terminálu spustím vim something.cpp
, to doplňování tam prostě mít nebudu. Když naopak spustím celý obrovský tlustý Eclipse, pak už nemám nejmenší důvod do něj zatahovat nějaký předpotopní editor. Takže ani z této možnosti podle mě velká výhoda nekouká.
Jinými slovy, když si v terminálu spustím vim something.cpp
, to doplňování tam prostě mít nebudu.
Asi jste si to spatne precetl, prave tohle to totiz dela.
Problém Emacsu je jeho rozsáhlost a konfigurovatelnost. Základní balík Emacs je pouze část celé skládačky. Když si k tomu přidáte občasné nekonzistentní ovládání mezi jednotlivými balíky, tak učení a konfigurace Emacsu je na celý život. Je to jako životní styl, podobně jako Linux. . Já jsem například po 15 letech používání Emacsu jsem přišel na to jak efektivně vyhledávat slovo pod cursorem. Sice jsem si na to před 12 lety dopsal (našel na internetu) 3 řádkovou funkci v elispu. To jsem ale nevěděl, že toto je přímo vestavěno ve funkci isearch-forward a nejspíš asi déle než těch 15 let.
K vaší otázce: Kontextové doplňování je balíku CEDET a JDEE
Genericky se dá použít dabbrev. Sám toto používám pro editaci SQL (teradata dialekt). V jednom bufferu mám výpis systémového slovníku, ve kterém se dohledávají symboly z databáze. V dalším bufferu mi běží SQL klient, kterému stiskem klávesy pošlu aktuální příkaz. Samozřejmostí v mém prostředí je zvýrazňování syntaxe, párování závorek, integrace s diff a version control systémy, formátování pod rukou, ... . Zkoumal jsem hodně editorů, ale žádný z nich mi takovou škálu funkcí a možnost konfigurace nenabídl. Nutno ale dodat, že nastavení celého prostředí bylo otázkou mnoha týdnů, čtení dokumentace a postupného ohýbání konfigurace.
Oznámil jsem: ,Pošli mi 150 dolarů a já ti pošlu pásku s Emacsem.‘ A tak mi začaly chodit první objednávky a v polovině roku už jich bylo docela dost…“To zní jako kapitalismus
Ale mělo by to jednu výhodu. Ta páska by pak kompletně patřila kupci, takže by si ji klidně mohl narvat i do…
No není ta GPL výhodná?
Dá sa v tom editovať keď spadnú X?
Tak to je fajn. X už síce moc často nepadajú (aspoň ak človek neexperimentuje), to je pravda, ale na druhej strane, keď sa to stane, tak som rád, že mám po ruke editor, kde si môžem veci opraviť (teda, prinajhoršom sa dá použiť sed, hehe). Tak isto to ssh je dobrým dôvodom, prečo používať konzolový editor (resp. presnejšie, editor schopný bežať v konzole). Ale hlavný dôvod je, že to má svoje neopakovateľné čaro. Editovať v nejakom grafickom editore, to mi príliš pripomína notepad na to, aby som z toho bol nadšený. A mám pocit, že presne z opačného iracionálneho dôvodu väčšina ľudí konzolové editory nepoužíva