Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
Tcl: # (find-angg ".zshrc" "demo") Tcl: # (find-es "eeg" "escripts_demo_1") Tcl: # Note that the version in this file is more up-to-date than Tcl: # the one in "eeg.e". Tcl: # set gluelines 1 Tcl: now_in screen Tcl: proc aks {args} { eval ak $args } Tcl: Tcl: am1 {Next key: C-s (isearch-forward)} Tcl: am+ {Will start an interactive search.} Tcl: am+ {} Tcl: am+ {Keyboard input will appear at the last line of the screen (the} Tcl: am+ {"minibuffer") but the cursor will be pointing to the matching} Tcl: am+ {position.} Tcl: am Tcl: aks C-s d l o p e n Tcl: Tcl: am1 {Next key: M-e (end-of-line-then-eval-last-sexp)} Tcl: am {Will follow the "to" hyperlink.} Tcl: ak M-e Tcl: Tcl: am {Arrows move.} Tcl: aks down down down down down Tcl: Tcl: am1 {M-0 ... M-9 form a number that some commands use as a repetition} Tcl: am+ {count. The next command is M-5 down.} Tcl: am Tcl: aks M-5 down Tcl: Tcl: am1 {C-l (recenter) adjusts the display to place the cursor in the} Tcl: am {middle.} Tcl: ak C-l Tcl: Tcl: am1 {F3 (ee-default-strbounded, will work as eev-bounded now)} Tcl: am+ {Will save the block between the delimiters to a temporary} Tcl: am {script file (~/bin/ee.sh).} Tcl: ak f3 Tcl: Tcl: a {_ 10} Tcl: a {set gluelines 0} Tcl: Tcl: am1 {We will now switch to a shell with C-a c.} Tcl: am+ {This C-a c is not an Emacs command; we are now running Emacs under} Tcl: am+ {a program called "screen", that makes a single terminal act as} Tcl: am+ {many, and screen will interpret C-a c as its command to create a} Tcl: am+ {new shell "window" and switch to it; I hope you have tried the} Tcl: am+ {demo of "screen" before this one, because if you haven't you may} Tcl: am {become somewhat puzzled.} Tcl: ak C-a c exec zsh Tcl: am1 {Now the command "ee" will execute the saved block.} Tcl: am {It is not exactly a command, it is a shell alias:} alias ee echo $EE cat $EE Tcl: am [h {Let's run "ee" now.}] ee Tcl: am [h {It wrote two C programs, "x.c"...}] cat x.c Tcl: am [h {and "so.c"...}] cat so.c Tcl: am1 [h {and compiled "so.c" into a shared library and "x.c" into an}] Tcl: am {executable file, "x":} laf Tcl: am1 [h {then "x" was ran, and it called a function that was}] Tcl: am+ {defined in so.c. Let's run "x" again and then clear} Tcl: am+ {the screen and run "ee" again, and you'll see how "ee"} Tcl: am {did all that in a single blow.} ./x Tcl: ak C-l ee Tcl: am1 [h {As we compiled everything with "-g" it will be possible to run}] Tcl: am+ {gdb (a debugger) on "x". Emacs provides a fantastic debugging} Tcl: am+ {environment, so we will switch back to Emacs... We'll use the} Tcl: am+ {key sequence C-a 0 for that; screen interprets it as "go to the} Tcl: am {window 0".} Tcl: ak C-a 0 Tcl: Tcl: am {Go to the "gdbk-gdb" hyperlink (using "C-s (gdbk-").} Tcl: ak C-s ( g d b k - Tcl: Tcl: am1 {Now execute the hyperlink with M-e; this will 1) save everything} Tcl: am+ {between the delimiters another temporary file, ~/bin/ee.generic} Tcl: am+ {(this step would have been skipped if the first argument to} Tcl: am+ {`gdbk-gdb' were not `t'), and 2) invoke gdb, inside Emacs, on} Tcl: am+ {/tmp/x, adding support for some convenient keys.} Tcl: am Tcl: ak M-e Tcl: Tcl: am1 {GDB also supports an "ee" command; it will make it execute the} Tcl: am {commands stored in ~/bin/ee.generic, that were "br main" and "run".} ee Tcl: Tcl: am {Now single-step several times (10, to be precise) with M-s and M-n.} Tcl: akslow M-n M-n M-n M-s M-n Tcl: akslow M-n M-n M-n M-n M-n Tcl: Tcl: am [h {Now kill the gdb window, with M-k enter.}] Tcl: akslow M-k enter Tcl: Tcl: am {Kill the buffer visiting x.c, with M-k enter.} Tcl: akslow M-k enter Tcl: Tcl: am1 {Leave Emacs with C-x C-c (save-buffers-kill-emacs), and after} Tcl: am+ {that leave the shell with C-d; screen will notice that all} Tcl: am {programs it was running have finished, and will finish too.} Tcl: ak C-x C-c Tcl: ak C-d