GNU Emacs

Z GeoWikiCZ
Verze z 15. 9. 2006, 20:51, kterou vytvořil Cepek (diskuse | příspěvky) (compile a debuger)

Na této stránce je uvedeno pouze několik málo tipů, pro první seznámení s Emacsem.

Domovská stránka editoru GNU Emacs je http://www.gnu.org/software/emacs/.

Emacs je editor, který

  • pracuje prakticky na libovolné platformě
  • lze v něm všechny operace provádět pouze s využitím klávesnice

Některé základní operace

C-_
operace undo vrací zpět provedené editace
M-/
autokomlementace, doplňuje běžné rozepsané slovo podle slov v otevřeném bufferu. Pokud daná nabídka nevyhovuje, opakované zadání příkazu M-/ přechází na další alternativu.
M-q
formátování textu daného odstavce. Pro formátování zvolené oblasti zdrojového kódu (region) slouží příkaz C-M-\. Zarovnání edntlivého řádku zdrojového kódu zajišťuje znak tabelátor.
TAGS
jsou nástrojem pro navigaci ve zdrojovém kódu. Využíván je přitom nástroj Exuberant Ctags, který generuje seznam symbolů vyskytujících se v daném projektu. Seznam lze například vygenerovat takto
ctags -e -o TAGS -R ~/GNU/gama
kde parametr -e je požadavek na implicitní format používaný Emacsem, -o udává jméno výstupního soubru a -R udává, že zadaný adresář má být prohledán rekursivně.
M-.
přechod na definici symboly (na kterém je umístěn kurzor)
M-0 M-.
přechod na další vyhovující definici
M-*
návrat na počátek

Ladění programů

M-x compile
M-x recompile
příkaz pro sestavení programu, resp. opakované zadání příkazů pro kompilaci. Implicitně make -k. Lze zadat i více příkazů, např.
cd adresář && make && ./program
Explicitní přechod do základního adresáře projektu je nutný, pokud jsou zdrojové kódy umístěny v různých podadresářích.
M-x first-error
přejde ve zdrojovém textu na místo první chyby detekované při překladu.
C-x `
přechod na následující chybu

GNU debugger

M-x gdb
spouští gdb (GNU debugger)

Základní příkazy gdb. Pro práci s debugerem je nunté použít při překladu parametr -g.

run parametry
spouští laděný program, volitelně umožňuje zadat paramatry programu, které jsou implicitní i pro další volání příkazu run
bt
spouští příkaz backtrace, který vypisuje posloupnost volání funkcí, které vedly na segmentation fault.