Freddy

Felhasználói útmutató

Móricz Ferenc

Ez a dokumentum csak a szerző engedélyével terjeszthető.

A dokumentum különböző változatai a következő helyen érhetőek el:

HTML format: en, hu, PDF format: en, hu


Table of Contents
1. Bevezetés
Tulajdonságok
A Freddy rövid története
1.0-s verzió
2. Telepítés
A forráskód fordítása, telepítése
Letöltés
Fordítás, telepítés
Csomagolt változat telepítése
3. A Freddy használata
Indítás
Parancssori opciók
Szerkesztés
Buffer-ek, session-ök, editor-példányok
Beállítások
Plug-in-ek
Gyorsbillentyűk listája
4. Linkek
Unix-os editor-ok:

Chapter 1. Bevezetés

Ez a leírás a Freddy nevű ASCII szövegszerkesztő használatát mutatja be. Ez egy felhasználói leírás, tehát a használat során felmerülő kérdésekre igyekszik választ adni. A programozói leírás, ami az alkalmazás müködését, belső interfészeit mutatja be, szintén elérhető lesz a közeljövöben.


Tulajdonságok

Elöljáróban szeretném röviden felsorolni, hogy a Freddy mire való, mire nem, mit tud és várhatóan miket fog tudni a későbbiekben. Ha továbbra is érdekel a program, remélem, a gyakorlatban is beváltja majd a hozzá fűzött reményeidet. Ha mást keresel, akkor köszönöm az érdeklődésedet, sok sikert a további keresgéléshez!

A Freddy a következőket tudja:

  • [+] ascii editor programozói támogatással

  • [+] Debian/Redhat/UHU Linuxokon és Windows-on használható

  • [+] plug-in támogatása van (egyelőre 3 plug-in érhető el hozzá)

  • [+] programozói támogatás: console, etags plug-in, colorer filter

  • [+] jól konfigurálható - még a menük tartalmát is konfigurációs fájlok határozzák meg.

  • [+] i18n támogatás - egyelőre angol és magyar nyelven érhető el

A következőket egyelőre sajnos nem tudja:

  • [-] undo-redo funkció (várható: 2003. augusztus-október között)

  • [-] automatikus sortörés (wrap) (várható: 2003. november-december között)

  • [-] debugger plug-in (várható: 2003. november-december között)


A Freddy rövid története

A Freddy, bár fejlesztése több, mint két és fél éve folyik, mégsem egy teljesen kiforrott szövegszerkesztő. Bár én személyesen sok feladatra használom, mégis könnyen lehet, hogy mások számára idegesítő dolgokat produkál. Néhány fontos funkciót nem tud, és stabilabban is működhetne.

Ezek a gyermekbetegségek talán azért maradtak benne, mert inkább az új funkciók kikísérletezésére fordítottam gondot, mintsem hogy egy teljes funkcionalitású editort csináljak. A számomra lényegtelen funkciókat sokáig hanyagoltam. A felhasználóktól elvétve kaptam visszajelzést, ezért csak a saját szórakoztatásomra fejlesztettem. Lassan-lassan viszont összegyűlt egy pár levél a lelkesebb felhasználóktól, akik úgy tűnik, használni szeretnék a programot, ezért most már feléjük is "felelősséggel tartozom". Igyekszem hamar pótolni a hiányzó és javítani a hibásan működő funkciókat.

2003 elején sikerült elnyernem a magyar Linux-disztribúció, az UHU támogatását. A hozzájuk beadott pályázatomban vállaltam a legégetőbb hiányosságok pótlását. Természetesen ez is segít a felhasználóbarátság javításán, mert így rá vagyok kényszerítve, hogy a nekem nem tetsző feladatokkal (pl. felhasználói doksiírással :) ) is foglalkozzak.


1.0-s verzió

A Freddy számozása a szabad szoftvereknél elterjedt szokással van összhangban. Elterjedt szokás, hogy a verziószám jó ideig az 1.0 alatt van. Ez utal arra, hogy az eredeti, kezdeti célkitűzések még nincsenek teljesen megvalósítva.

Én személy szerint akkor szeretném az 1.0-t kiadni, amikor már nincsenek nagyon nyilvánvaló hiányosságok, és viszonylag stabilan működik a program. Ezért igyekszem az új technikák kikísérletezését egyelőre a háttérbe szorítani, és az eddig megírt kódot használható formába hozni. Az 1.0 megjelenésére még van valamennyi esély idén.


Chapter 2. Telepítés

A freddy két módon telepíthető: a forráskód letöltésével és lefordításával vagy az előre csomagolt binárisok telepítésével. Sajnos a Debian és a RedHat csomagok csak a fontosabb verziókhoz készülnek el, azokhoz sem mindig. Egyedül UHU Linux csomagként érhető el a Freddy naprakész változata.

Ezért (ha csak nem UHU Linux-ot használsz) az elsô megoldást javaslom, hiszen a legfrissebb változat általában csak forrásban van meg.


A forráskód fordítása, telepítése

Letöltés


Forrás-csomagok (tarballs)

A freddy csomagolt forráscsomagjai (tarball-ok), a freddy.sf.net-ről tölthetőek le. Itt a bal felső sarokban lévô "Download" fül egy fájllistát hoz elő, itt lehet kiválasztani a Freddy forráscsomagjait. Általában a legújabbat érdemes használni. Csak akkor érdemes régebbivel próbálkozni, ha valami esetleg nem mûködne - lehetséges, hogy az csak az újabb változatban mûködik rosszul. (Ha valaki ilyet talál, örülnék, ha e-mail-ben értesítene.)

Miután megvan a forrásokat tartalmazó csomag, a következő paranccsal lehet kicsomagolni:


						tar -xvjf freddy-<verzionév>.tar.bz2
						
régebbi rendszereken esetleg:

						tar -xvIf freddy-<verzionév>.tar.bz2
						
Ha ez is sikeresen végrehajtódott, már csak a fordítás van hátra.


CVS hozzáférés

Ezt a letöltési módot csak a gyakorlottabb felhasználóknak ajánlom. A szükséges parancsok:


						export CVSROOT=:ext:ferici@cvs.freddy.sourceforge.net:/cvsroot/freddy
						cvs co -z9 freddy
						
Ha ez sikerült, a források letöltődtek. Két parancsot kell még lefuttatni a fordítás előtt:

						cd freddy-<verziónév>
						aclocal
						autoconf
						
Ha ezekre egy "command not found" hibajelzést kapsz, akkor telepítened kell az autoconf csomagot.


Fordítás, telepítés

Lépj be a freddy-<verziónév> könyvtárba, ha eddig még nem tetted meg. Futtasd a következő parancsot:


						./configure
					
Ez a parancs az esetek túlnyomó részében akkor szokott hibával visszatérni, ha nem találja meg a fordításhoz szükséges QT library-t. Ha nincs telepítve, telepítsd, ügyelve arra, hogy a fejlesztői csomagok is felkerüljenek (Debian-nál [-dev] végződés). Ha már telepítve van, és mégsem találja a configure, kézzel kell neki megadni a [--with-qt] opciók segítségével. Például:

						./configure --with-qt=/home/user/work/qt-3.0.1
					
vagy ha a QT header-ek és library-k nem ugyanabban a könyvtárban vannak:

						./configure --with-qt-includes=/usr/include --with-qt-libraries=/usr/lib/qt32
					
Ha a [configure] sikeresen végrehajtódott, már csak a

						make
					
parancsot kell kiadnod, és ha ez is kész, rendszergazdaként kell telepíteni a programot:

						make install
					


Megadott helyre telepítés

A freddy a [make install] hatására a fájlokat a megfelelô alapértelmezett könyvtárakba másolja. Elôfordulhat viszont, hogy a felhasználó nem tudja írni ezeket a könyvtárakat (/usr/local/ bin, /usr/local/share/freddy), vagy esetleg telepít? csomagot szeretne készíteni Debian, Redhat vagy bármilyen egyéb disztribúción, és ezért máshová szeretné helyezni a fájlokat. Ebben az esetben configure szkript futtatásakor átdefiniálhatja az alapértelmezett PATH-okat. A megadható könyvtárak a következôek:

  • --with-install-bin könyvtár [/usr/local/bin]: a futtatható fájl (freddy) kerül ide

  • --with-install-etc könyvtár [/etc/freddy]: konfigurációs fájlok

  • --with-install-doc könyvtár [/usr/local/share/freddy]: dokumentumentációk könyvtára

  • --with-install-shared könyvtár [/usr/local/shared/freddy]: futás közben szükséges plug-inek, erőforrások könyvtára


Csomagolt változat telepítése

Ha a csomagolt változat telepítését választod, akkor jóval könnyebb dolgod lesz. Egyedül a csomagot kell letöltened vagy telepítésre kijelölnöd, ha már a disztribúció része, és ha függôségi problémák nincsenek, a csomag települ és használhatod az editor-t.

Ha Debian-t vagy Redhat disztribúciót használsz, aminek sajnos még nem része a Freddy, a http://freddy.sf.net oldalról a letöltéseknél találsz debian package formátumú telepítôt.

Az UHU Linux-ot használsz, az tartalmazza a freddy-t is, így csak ki kell jelölnöd a telepítéskor a freddy csomagot is.


Chapter 3. A Freddy használata

A freddy használata elsô pillantásra már valószínûleg nyilvánvalónak tûnik. "Egy egyszerû editor" - gondolhatja a felhasználó, és igaza van. A célok között szerepelt az, hogy könnyen kezelhetô legyen - tehát ilyen szempontból valóban egyszerû. Viszont sok funkciója van, ami nem nyilvánvalóan látszik rögtön, sôt, néhány funkció csak rejtett billentyûkombinációkkal érhetô egyelôre el. Ezért fontos, hogy aki csak teheti, fussa át ezt a leírást, hátha talál számára is érdekes dolgot benne.


Indítás

Az elsô indításkor (vagy akkor, ha elôzôleg nem engedélyezted) a freddy engedélyt kér, hogy létrehozza a felhasználói könyvtárban a konfigurációs könyvtárát. Engedélyezése maximálisan javasolt. Alternatívaként, ha zavarnak a gombamódra szaporodó rejtett könyvtárak a home-odban áthelyezheted a könyvtárat a $HOME/etc vagy a $HOME/.etc könyvtárba, és használhatod a freddy és .freddy könyvtárnevet is. A felhasználói könyvtáron belüli etc könyvtár egy javaslat a többi alkalmazás fejlesztôinek is (halló! hall valaki?). Jó lenne, ha minél többen támogatnák, mert akkor a felhasználó home könyvtára rendben könnyebben rendben tartható lenne, és a konfigurációs könyvtárakat könnyû lenne kiemelni a többi közül.


Parancssori opciók

A Freddy-nek néhány tulajdonsága parancssorból is változtatható. A parancssori opciók listáját a "--help" vagy a "/?" segítségével kérhetjük le.

További opciók:

  • --standalone: Indításkor a legfontosabb opció. Ezt megadva a program nem fogja figyelni, hogy fut-e már másik példányban illetve az elôzô kilépéskor éppen betöltve lévô fájlokat nem fogja betölteni. Ez nagyon hasznos mikor egy egyszerû notepad-szerû alkalmazásként szeretnénk futtatni. Például az EDITOR környezeti változót "freddy --standalone " -ra érdemes állítani.

  • --with-modules-dir=<dir>: Elsősorban fejlesztéskor hasznos opció, amivel felülbírálhatjuk az alapértelmezett könyvtárt, ahol a plug-in-eket keresi a program.


Szerkesztés

A Freddy az egyszerűen használható editor-ok közé sorolható. Windows-on szinte az összes editor az, viszont Linux-on érdemes ezt megemlíteni, hiszen sokan használnak vim-t, emacs-t, amik előzetes betanulás nélkül nem használhatóak.


Buffer-ek, session-ök, editor-példányok

A felhasználó egyszerre több fájlt is nyitva tarthat (buffer-ek), és ezeket egy ablakban láthatja. Az egyes fájlokat fülecskéken (tab) keresztül lehet elérni. A freddy különleges szolgáltatásokat nyújt a tab-ek terén. Húzd és ejtsd segítségével változtatható a sorrendjük, és bár betöltéskor automatikusan kerülnek elhelyezésre a lista aktuális pozíciója, elejére, végére, az automatikus elhelyezés módja konfigurálható.

Ha 5-10 fájlnál többet nyitunk meg, akkor már kissé nehézkes eligazodnunk a fülecskék segítségével. Ráadásul sokszor több feladat is folyamatban van egyszerre, az ezekhez megnyitott fájlokat jó lenne szeparálni. Ezeket általában project-eknek szokás hívni. A freddy a több project-et is meg tud nyitni egyszerre, ezeket session-öknek nevezi. A szokásos project-funkciókat (project mentése, visszatöltése) még nem támogatja, viszont a session listát kilépéskor automatikusan elmenti, és induláskor visszatölti.

A session-ökön túl a freddy egyszerre több példányban is elindítható. Az egyetlen korlátozás, hogy egyszerre csak egy főpéldány futhat, a többit --standalone -nal kell indítani, vagy különben a parancssorban megadott fájlok betöltődnek a főpéldányba, és az újonnan indított példány futása befejeződik.


Beállítások

A freddy működésének a lehetséges beállításait két módon is módosíthatjuk: közvetlenül szerkeszthetjük az etc-ben lévő konfigurációs fájlokat vagy a Properties ablakot is használhatjuk.

A Properties ablak 0.70-es változatban jelent meg először. Nagyon kényelmesen konfigurálhatjuk rajta keresztül az editort, és a Gyorssegítség segítségével az egyes beállítások hatásáról is többet megtudhatunk. Ha a Properties véletlenül nem működne (a 0.72 verzió táján meg ez előfordul), akkor a konfigurációs fájlok szerkesztését ajánlom. Nem túl bonyolult ezeket módosítani, bár mindenképp komplikáltabb, mint a beállító ablak segítségével.


Plug-in-ek

A freddy dinamikusan bővíthető modulokkal (plug-in-ekkel). Ezek újabb funkciókkal képesek felruházni az editort. Gyakorlatilag minden funkció, ami az alapvető működéshez nem szükséges, plug-in-ként írható meg.

A plug-in-ek indítása egyelőre rejtett billentyűkombinációkkal történik. Ezek a következők:

  • <ctrl> + <számbillyentyű 1-5-ig> : aktuális modul kiválasztása. Ennek a képernyőn semmi hatása nincs, csak a futtatás során látjuk, hogy melyik plug-int aktivizáltuk.

  • <alt> + <számbillyentyű 1-5-ig> : az aktuális modul egy funkciójának használata.

A következő plug-in-ek elérhetőek jelenleg:

  • console: a make parancsot képes futtatni, és az eredményét fel is tudja dolgozni. Ez egyelőre a legstabilabb, leghasználhatóbb, legtöbbet tesztelt modul. Két fontos funkciója van:

    <alt> + 3: a console ablak megnyitása/bezárása.

    <alt> + 1: a parancs futtatása. Ha egy paracs éppen fut, azt már nem lehet megállítani.

  • colorer filter: Ez egy filter plug-in. A filter plug-in-ek a megjelenített szöveg kinézetét határozzák meg.

    Sajnos a colorer library-t a szerzője, Igor Russkih egyelőre még csak windows-on telepíthető formában bocsátotta ki, ezért egy linux-on könnyen installálható telepítőcsomagot csináltam belőle. Ha a szerzőnek ez megfelelő lesz, akkor nemsokára az official változatba is bekerülnek a változtatások. A library telepítése a megszokott ./configure, make, make install parancsok kiadásával történik.

    A freddy a fordítás közben detektálja, hogy a colorer könyvtár telepítve van-e már. Ha nincs, akkor a colorer plug-in nem készül el. Ha elérhető, a colorer a freddy első indulásakor alapértelmezés szerint aktív, használatát a Beállítások menet közben lehet tiltani vagy engedélyezni.

  • mapbar: Egy új grafikus elemmel bővíti a freddy ablakát. Ez egy jobb oldalon megjelenő sávot jelent, ami a szerkesztett fájl legfőbb struktúrális elemeit jeleníti meg. Ennek az elemnek a célja, hogy segítsen eligazodni, hogy éppen melyik részét szerkesztjük, és strukturálisan hogyan épül fel a fájl.

    Ez a modul erősen instabil, egyedül csak az etags használja, ami szintén nem stabil. Csak akkor próbáld ki, ha nagyon kíváncsi vagy.

  • ctags: programozói modul, a forrásfájlokban szereplő szimbólumok listáját tárolja. Segítségével könnyen ugorhatunk egy-egy függvénydeklarációra vagy implementációra.

    Ez a modul erősen instabil, egyedül csak az etags használja, ami szintén nem stabil. Csak akkor próbáld ki, ha nagyon kíváncsi vagy.


Gyorsbillentyűk listája

A következő listában kiemelt betűtípussal jelzem a bedrótozott (hard-coded) gyorsbillentyűket. Ezek vannak kisebbségben. A többit a shortcuts.conf határozza meg, tehát a felhasználó által módosíthatóak.

Általános funkciók


Kilépés - <ctrl>-Q

Fájl műveletek


Új fájl - <ctrl>-N
Fájl megnyitása - F4
Fájl mentése - <ctrl>-S vagy F2
Fájl bezárása - <ctrl>-C

Szerkesztési funkciók


Keresés a fájlban - <ctrl>-F
Blokk igazítása balra / egyenletesen elosztva / jobbra - <ctrl>-o / <ctrl>-p / <ctrl>-[
Aktuális karakter ascii-kódjának kiírása - F12

Vágólap funkciók


Kivágás - <ctrl>-X vagy <shift>-<Delete>
Másolás - <ctrl>-C vagy <ctrl>-<Insert>
Beszúrás - <ctrl>-V vagy <shift>-<Insert>
Törlés - Delete;

Buffer, session funkciók


Ugrás a következő bufferre (fülecskére) - <alt>-<jobb>
Ugrás az előző bufferre (fülecskére) - <alt>-<bal>
Ugrás a következő session-re (fülecskére) - <ctrl>-<alt>-<jobb>
Ugrás az előző session-re (fülecskére) - <ctrl>-<alt>-<bal>

Plug-in támogatás


Aktuális plug-in kijelölése - <ctrl>-1 - <ctrl>-5
Aktuális plug-in egy funkciójának futtatása - <alt>-1 - <alt>-5


Chapter 4. Linkek

DOS Navigator: http://www.ritlabs.com/dn/

A kedvenc fájlmenedzserem és editorom DOS alatt.


Unix-os editor-ok:

nedit: http://www.nedit.org/

A kedvenc editorom Linux alatt (persze a Freddy előtt :) ).

GNU Emacs http://www.gnu.org/software/emacs/

Tradicionális Unix editor, szinte mindent tud, minden platformon fut, tesztelt stb. Viszont nagyon rá kell készülni, ha használni akarod, szinte mindent valamilyen el dugott billentyűkombinációval tudsz elérni.

VIM - VI Improved http://www.vim.org/

Tradicionális Unix editor, nagyon sok mindent tud. Erre is fel kell készülni, a parancs- és szerkesztőmódjának az ujjadban kell lenni, különben még csak ki sem tudsz lépni belőle.