GNU Emacs: Porovnání verzí

Z GeoWikiCZ
Skočit na navigaci Skočit na vyhledávání
(několik úvodních poznámek)
 
m (-upravit,)
 
(Není zobrazeno 10 mezilehlých verzí od 2 dalších uživatelů.)
Řádek 1: Řádek 1:
Na této stránce je uvedeno pouze několik málo tipů, pro první seznámení s Emacsem.
+
{|align=right style="margin-left: 10px"
 +
|__TOC__
 +
|}
 +
Domovská stránka editoru GNU Emacs je
 +
<center>'''[http://www.gnu.org/software/emacs/ http://www.gnu.org/software/emacs/]'''</center>
  
Domovská stránka editoru GNU Emacs je http://www.gnu.org/software/emacs/.
+
Emacs je textový editor, který
 
 
Emacs je editor, který
 
 
* pracuje prakticky na libovolné platformě
 
* pracuje prakticky na libovolné platformě
 
* lze v něm všechny operace provádět pouze s využitím klávesnice
 
* lze v něm všechny operace provádět pouze s využitím klávesnice
 +
 +
[[Image:Emacs.png|center|thumb|400px|GNU Emacs]]
  
 
== Některé základní operace ==
 
== Některé základní operace ==
Řádek 24: Řádek 28:
 
:;M-0 M-.: přechod na další vyhovující definici  
 
:;M-0 M-.: přechod na další vyhovující definici  
 
:;M-*: návrat na počátek
 
:;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ě <tt>make -k</tt>. Lze zadat i více příkazů, např.
 +
 +
::<tt>cd ''adresář'' && make && ''./program''</tt>
 +
 +
: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 <tt>-g</tt>.
 +
 +
:;run ''parametry'': spouští laděný program, volitelně umožňuje zadat paramatry programu, které jsou implicitní i pro další volání příkazu <tt>run</tt>
 +
 +
:;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''.
 +
 +
=== Editace minibufferu ===
 +
 +
Protože minibuffer Emacsu používá klávesu <tt>Ret</tt> pro ukončení příkazu, musím pro vložení ''nového řádku'' (LF) použít '''C-o''' nebo '''C-q LF'''
 +
 +
=== Jak uložit makro ===
 +
 +
Editor GNU Emacs umožňuje definovat makra (<em>keyboard
 +
macro</em>).  Definice makra začíná zadáním <code>C-x (</code> a je ukončena zadáním
 +
kombinace kláves <code>C-x )</code>.
 +
 +
Pokud chceme makro uložit pro pozdější použití, musíme makro nejprve pojmenovat. To učiníme funkcí
 +
 +
    M-x name-last-kbd-macro
 +
 +
Jméno je načteno jako argumen v minibufferu. Jméno makra je Lisp symbol a je voláno pomocí <code>M-x</code>. Pokud se pokusíme uložit makro pod již existujícím jménem, nic se nestane a je vypsána chybová zpráva.
 +
 +
Pokud je makro pojmenováno, můžeme je uložit do souboru. Nejprve
 +
otevřeme soubor a do něj pak makro zapíšeme příkazem
 +
 +
    M-x insert-kbd-macro <RET> jméno makra <RET> 
 +
 +
Uložený Lisp kód lze později znovu vyhodnotit C-x C-e a makro tak opět definovat Pokud makro uložíte do souboru ~/.emacs, bude automaticky definováno při každém spuštění Emacsu.
 +
 +
== Související články ==
 +
 +
* [[Psql a Emacs]]
 +
 +
== Užitečné maličkosti ==
 +
 +
* [http://www.emacswiki.org/cgi-bin/wiki/hide-lines.el hide-lines.el]
 +
 +
[[Kategorie:GNU]]
 +
[[Kategorie:Programování]]

Aktuální verze z 20. 4. 2009, 11:52

Domovská stránka editoru GNU Emacs je

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

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
GNU Emacs

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.

Editace minibufferu

Protože minibuffer Emacsu používá klávesu Ret pro ukončení příkazu, musím pro vložení nového řádku (LF) použít C-o nebo C-q LF

Jak uložit makro

Editor GNU Emacs umožňuje definovat makra (keyboard macro). Definice makra začíná zadáním C-x ( a je ukončena zadáním kombinace kláves C-x ).

Pokud chceme makro uložit pro pozdější použití, musíme makro nejprve pojmenovat. To učiníme funkcí

   M-x name-last-kbd-macro 

Jméno je načteno jako argumen v minibufferu. Jméno makra je Lisp symbol a je voláno pomocí M-x. Pokud se pokusíme uložit makro pod již existujícím jménem, nic se nestane a je vypsána chybová zpráva.

Pokud je makro pojmenováno, můžeme je uložit do souboru. Nejprve otevřeme soubor a do něj pak makro zapíšeme příkazem

   M-x insert-kbd-macro <RET> jméno makra <RET>  

Uložený Lisp kód lze později znovu vyhodnotit C-x C-e a makro tak opět definovat Pokud makro uložíte do souboru ~/.emacs, bude automaticky definováno při každém spuštění Emacsu.

Související články

Užitečné maličkosti