GNU Emacs
Domovská stránka editoru GNU Emacs je
Emacs je textový 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)
- C-x SPC
- nastavuje breakpoint na běžnou pozici v otevřeném souboru.
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
- n
- přechod na další příkaz, volání funkce je poavažována za jediný příkaz
- s
- přechod na další příkaz, vstup do volané funkce
- p výraz
- tisk zadaného výrazu
- p *adresa@n
- vytiskne n prvků pole na zadané adrese
- bt
- spouští příkaz backtrace, který vypisuje posloupnost volání funkcí, které vedly na segmentation fault.