Textový editor - nekonečný příběh

Libor Dub libor_dub na email.cz
Pátek Leden 25 13:04:22 CET 2002


Příspěvek je dlouhý ale myslím, že celkem věcný, a tak 
jestli Vás téma nezajímá, tak ho vůbec nečtěte a následně
mi nenadávejte! V opačném případě očekávám všechny zajímavé
reakce.

Opět se vracím k tolik omílanému tématu, ale nedosáhl jsem 
stavu uspokojení, a tak pokračuji v dotazu. Bohužel ani 
zmíněné dva programy mě neodradily od používání
NoteTabu, který však jakožto emulovaný běží v Linuxu pomalu
 a občas i spadne. Hledám proto dál.

Mě i obdobným předchůdcům byl doporučený VIM, případně
Emacs. Včera jsem si prohlédl VIM (již po několikáté)
a pustil se i do studia tutoriálu pro Emacs a získal
přehled o jejich možnostech, které jsou bezpochyby nemalé.

Obě tyto aplikace (alespoň ve všech verzích a klonech
se kterými jsem se seznámil) neobsahují GUI, tedy grafické
uživatelské rozhraní (případně u některých klonů velmi 
primitivní). Někdo řekne že si moc vymýšlím, ale není to jen
otázka nějaké krásy nebo přílišného pohodlí - lidi jsou různí
a já patřím mezi ty, kteří mají grafickou paměť a mé vnímání 
okolí je právě skrze grafiku nejintenzivnější. Navíc je tato
potřeba umocněná mou "krátkou" pamětí na vše ostatní (hlavně
čísla, zkratky,...).

Ne že bych se bránil klávesovým zkratkám, jsem zvyklý jich 
několik desítek používat, ale byl by to ode mne krok zpět,
a to určitě každý dělá nerad (určitě by se VIMák nevrátil k
něčemu takovýmu jako netepad, :-). Nedovedu si třeba představit,
že bych už neměl přímo v toolbaru ikony svých šablon pro 
různý HTML stránky a že bych je musel lovit někde pomocí 
textového procházení adresářovou strukturou.

Snažil jsem se tedy být konstruktivní a shrnul jsem seznam
požadavků na takový rozumný textový editor:
 - rozumné zvýrazňování syntaxe (alespoň HTML, javaskript,
   C++, PHP). Úroveň v Kwrite považuji za dostačující.
 - možnost vytváření textových klipů:
    * nejjednodušším klipem je prostý text
    * složitější formou je obecný tag, tedy dvojitý textový 
      řetězec, mezi jehož dvě části se vloží obsah zvýrazněného
      textu či blikající kurzor
    * nejvyšší formou jsou interaktivní šablony umožňující 
      použití proměnných (pokud možno i násobně). Tj. při 
      vkládání textu vyskočí dialogové okno s příslušným
      počtem formulářových polí, radiobutton, roletových
      nabídek či checkboxů podle počtu a typu šabloně 
      vložených proměnných pro možnost jejich okamžité 
      změny (nebo prvotního zadání, případně volby z před-
      definované nabídky).
 - rozumná organizace těchto klipů, čímž myslím:
    * možnost jejich vyvolání klávesovou zkratkou
    * možnost jejich přidání do nějakého seznamu, např. 
      v podobě seznamu na zvláštní záložce v  postranní 
      části okna, kde bývá strom struktury souborů 
      na disku, strom nápovědy ap.
    * možnost definování a přiřazení ikony určitému klipu
      a její vložení do toolbaru. Definice nových vlastních
      toolbarů. Perličkou by mohlo být možnost vytvářet 
      rozbalovací nabídky ikon (např. ikona "šablona" by
      se po kliknutí mohla rozvinout do pruhu ikon nabízených
      šablon).
          Editace těchto panelů (podle mne) nemusí mít GUI,
          stačí možnost editace např. v XML či TXT (pomocí 
          TXT je řešen i NoteTab; v Quantě bez editace XML
          konfigového souboru toolbar.rc nelze přidat
          novou záložku (jen u nové verze - zapomněli na to,
          :-). Je to velmi efektivní a rychlé.
 - vlastní jednoduchý (alespoň relativně, případně příbuzný
   s nějakým rozšířeným jazykem, např. C++) jazyk pro možnost
   vytváření různých funkcí - především zmíněných interaktivních
   šablon, cyklů, ... Možná to nezní příliš jasně, tak udávám 
   příklad cyklu, který snad nepotřebuje komentář:
      ----
      [ampl_1, frek_1, faz_1] = fftl(A1, 1000, 1);
      [ampl_2, frek_2, faz_2] = fftl(A2, 1000, 1);
        ...
      [ampl_158, frek_158, faz_158] = fftl(A158, 1000, 1);
      ----
   Při představě přepisování hodnot na 158-mi řádcích u každého
   příkazu se Vám určitě zatmí. Ostatně různé skripty umí i 
   VIM a pod.
 - rozumné GUI rozhraní, zajišťující alespoň:
     * přehledný přístup k souborům na disku, např. s pomocí
       stromového zobrazení struktury disku v postranní části
       okna, záložkování, oblíbených dokumentů, skupin oblíbených
       dokumentů, apod.
     * možnost změny vzhledu nebo přijatelný defaultní vzhled.
 - implementace dnes již běžných utilit, např.:
     * míchání barev pomocí GTK utilitky s hexadecimálním
       výstupem
     * nejběžnějším funkcí pro HTML, jako vytváření různých
       forem linků a bookmarků a vkládání obrázků
     * vkládání data, dne, času, ...
     * možnost vkládání info o systému, window manažeru
       apod. např. pomocí emulace terminálu s možností přesměrování
       výstupu příkazu do otevřeného souboru. Třeba takto:
          dmesg > .
 - v neposlední řadě plná podpora CZ diakritiky ISO-8859-2. 
   Bonbónkem by mohla být podpora souborů s diakritikou CP-1250
   (a že to jde to už víme, :-).
 - novou funkcí, která by mohla být zajímavá by byl dialog pro
   zadávání příkazů (protože jak známo X aplikace většinou
   nemají příkazový řádek, na čemž však bazírují shellové
   jiné aplikace)

Možná se Vám to zdá být všechno moc náročné, ale i zmíněný 
starý NoteTab skoro všechno toto umí, a to se vleze na jednu
disketu a i na 486-tce "valí" bez zaváhání. Jestli dnes editor
pro Linux s takovými vlastnostmi není, určitě se dřív, či později
objeví. Stejně tímto směrem konverguje i většina současných 
editorů.

Škoda že nejsem schopnější programátor (to mě neživí), jinak
bych se do tak zajímavého projektu vrhl. Uživatelé by se 100%-tně
našli - vždyť Linux je právě pro ty schopnější, náročnější
a tvořivější.

Zdraví OAK

---
   ---------> Created by Email.cz 
   http://www.email.cz <--- Get Your Free Email
     



Další informace o konferenci Linux