A FreeBSD Dokumentációs Projekt irányelvei kezdőknek
Előző |  | Következő

# Fejezet 11. Az `sgml-mode` használata az Emacs szövegszerkesztőben

Az Emacs és XEmacs újabb változataihoz tartozik egy `psgml` nevű, nagyon hasznos csomag (a Portgyűjteményből a `editors/psgml` portból telepíthetjük fel). Ez a kiegészítés vagy az `.xml` állományok megnyitásakor töltődik be automatikusan, vagy pedig az `M-x sgml-mode` parancs begépelésével. Általánosságban véve ez az SGML állományok és a bennük található elemek és tulajdonságok szerkesztésére alkalmas mód.

Az alábbiakban bemutatunk néhány olyan alapvető parancsot ebben a módban, amelyekkel könnyebbé válik a különböző SGML dokumentumok, többek közt a kézikönyv szerkesztése.

`C-c C-e`

  Meghívja az `sgml-insert-element` függvényt. Ekkor meg kell adnunk az adott pontra beillesztendő elem nevét. Itt a Tab lenyomásával kérhetjük a név kiegészítését, az adott ponton érvénytelen elemek neveit ilyenkor nem érhetjük el.

  A szövegbe ekkor bekerülnek az elemhez tartozó kezdő- és zárócímkék. Amennyiben az elemhez még tartoznak más egyéb kötelező elemek is, akkor egyúttal ezek is beszúródnak.

`C-c =`

  Meghívja az `sgml-change-element-name` függvényt. A parancs használatához álljunk a módosítandó elembe. A végrehajtáshoz meg kell még adnunk azt is, hogy mire akarjuk átírni az elem nevét. Ezután az érintett elem kezdő- és zárócímkéi lecserélődnek.

`C-c C-r`

  Meghívja az `sgml-tag-region` függvényt. A használatához először jelöljük ki a szöveg egy részét (vigyük a kurzort a kijelölés kezdetéhez, adjuk ki a `C-space` billentyűparancsot, vigyük a kurzort a kijelölés végéhez és ismét adjuk ki a `C-space` parancsot). Ezután meg kell adnunk még a bejelölt rész jelöléséhez használni kívánt elemet. Ennek eredményeképpen végül a kijelölt szakasz elejére és végére bekerül az adott elem kezdő- és zárócímkéje.

`C-c -`

  Meghívja az `sgml-untag-element` függvényt. Álljunk a kurzorral az eltávolítani kívánt elem kezdő- vagy zárócímkéjére és adjuk ki a parancsot. Ekkor az elem kezdő- és zárócímkéi törlésre kerülnek.

`C-c C-q`

  Meghívja az `sgml-fill-element` függvényt. Ennek hatására az elem, amelyben állunk a kurzorral rekurzívan feldolgozásra kerül (például újraformázódik). Ez a változtatás a tördelést is érinteni fogja, tehát például még `<programlisting>` elemek esetében is. Ezért mindig csak körültekintéssel alkalmazzuk!

`C-c C-a`

  Meghívja az `sgml-edit-attributes` függvényt. Ekkor a legközelebbi befoglaló elemhez megnyílik egy másik szerkesztési pufferben az összes hozzá tartozó tulajdonság, értékekkel együtt. Itt a Tab lenyomásával tudunk lépkedni az egyes elemek között, a `C-k` paranccsal lecserélni egy meglevő értéket egy újra, illetve a `C-c C-c` paranccsal bezárni a puffert és visszatérni az eredeti dokumentum szerkesztéséhez.

`C-c C-v`

  Meghívja az `sgml-validate` függvényt. Felajánlja a jelenleg megnyitott dokumentum mentését (amennyiben szükséges) és ellenőrzi az SGML szabvány szerinti érvényességét. A vizsgálat eredménye egy új pufferbe kerül, ahol szépen sorban végig tudjuk nézni az összes hibát és javítani ezeket menet közben.

`C-c /`

  Meghívja az `sgml-insert-end-tag` függvényt. Bezárja a kurzor előtt megkezdett elemet.

Nyilvánvalóan ebben a módban még vannak további hasznos funkciók, de az említetteket használják a leggyakrabban.

A Dokumentációs Projekten belüli munkához az `.emacs` állományban a következő bejegyzéseket érdemes megadni a megfelelő tördeléshez, elrendezéshez és sorszélességhez:

        (defun local-sgml-mode-hook
          (setq fill-column 70
                indent-tabs-mode nil
                next-line-add-newlines nil
                standard-indent 4
                sgml-indent-data t)
          (auto-fill-mode t)
          (setq sgml-catalog-files '("/usr/local/share/xml/catalog")))
        (add-hook 'psgml-mode-hook
          '(lambda () (local-psgml-mode-hook)))

Előző | Tartalom | Következő
Szólista |  | Lásd még...

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.