0
|
1 This new term-mode is a merge of the comint shell mode with a
|
|
2 ANSI-compatible terminal-emulator.
|
|
3
|
|
4 If you're using emacs-19.23 (or newer) or xemacs-19.11 (or newer),
|
|
5 and only want the terminal-emulator itself, just load the file
|
|
6 term.el. (You probably want to byte-compile it first, especially
|
|
7 if you have a slow machine.)
|
|
8
|
|
9 To start term do M-x term RETURN.
|
|
10
|
|
11 Compared to terminal.el:
|
|
12 * Uses standard ANSI (vt102) escape sequences.
|
|
13 * High-lighting (inverse video, underline, bold) are supported.
|
|
14 * Fully integrated into shell mode.
|
|
15 * Can switch back and forth between character mode (acts like xterm)
|
|
16 and line mode (acts like old shell mode).
|
|
17 * Tab and line breaks are stored in buffer (so cut and paste will get
|
|
18 the correct tabs and line breaks), but terminal motion uses the
|
|
19 "visible" layout of the screen (and display programs can assume
|
|
20 tab, cr and lf work as on plain terminal).
|
|
21
|
|
22 In character ("raw") sub-mode:
|
|
23 Each character type is sent to the inferior process, except for C-c.
|
|
24 C-c C-c Send a C-c to the inferior.
|
|
25 C-c C-j Enter line sub-mode
|
|
26 C-c OTHER Same as cooked C-x map
|
|
27 Can use bash line editing, filename completion, and history.
|
|
28 Can run emacs in an emacs window! (bash users first do: export -n DISPLAY)
|
|
29
|
|
30 In line ("cooked") mode:
|
|
31 Like traditional shell mode
|
|
32 C-c C-k Enter character sub-mode
|
|
33
|
|
34 Either character or line sub-mode:
|
|
35 C-c C-q Toggle pager sub-mode (enable or disable)
|
|
36 The "pager" provides functionality similar to the "more" program:
|
|
37 Whenever a screenful has been received, emacs stops reading from
|
|
38 the process until you type the appropriate key. (The key 'h' provides help.)
|
|
39 The pager is smart enough that you can leave it on, even while
|
|
40 running full-screen interactive programs inside a shell window.
|
|
41 (The pager does not work under xemacs 19.11.)
|
|
42
|
|
43 The file tshell.el is a preliminary replacement for shell mode.
|
|
44 After loading it, you invoke it with M-x tshell RET.
|
|
45 This needs a little work, and is not recommended. It differs from
|
|
46 term-mode in that it starts in line mode, and it performs directory
|
|
47 tracking. Such directory tracking cannot be made reliable.
|
|
48 It you're running bash, it is better to just use term-mode and have
|
|
49 bash tell term the current directory. You can do that by adding
|
|
50 the following to your ~/.bashrc:
|
|
51
|
|
52 if [ "$TERM" = "eterm" ]; then
|
|
53 PROMPT_COMMAND='echo "/${PWD}"'
|
|
54 fi
|
|
55
|
|
56 The file tgud.el is a preliminary replacement for gud.el, including
|
|
57 gdb-mode. After loading it, invoke "tgdb-mode" with M-x tgdb RET.
|
|
58
|
|
59 An alternative is to run gdb from term (or tshell) mode.
|
|
60 Just start gdb with the --fullname flag. This will cause gdb to
|
|
61 ask emacs to display proper source frame on break-points -
|
|
62 even over a telnet/rlogin link! You would not be able to use the
|
|
63 gud-specific commands, but you can use gdb/readline line editing.
|
|
64
|
|
65 If you're using terminfo, copy the e directory (itself, not just
|
|
66 the files in it) into the emacs 'etc' directory (as given by
|
|
67 ESC ESC data-directory RET), so you have ..../etc/e/eterm.
|
|
68 (Your system uses terminfo if ESC ESC (boundp 'system-uses-terminfo) RET
|
|
69 return t.) If you can't do that, replace the word "data-directory"
|
|
70 in term.el by a string naming this directory.
|
|
71
|
|
72 The file TODO.term notes ideas for improvements.
|
|
73
|
|
74 The file term.texi contain some notes that one day may become part
|
|
75 of a manual.
|
|
76
|
|
77 Term.el will be in the next emacs release from the FSF.
|
|
78 It will also probably be in the next xemacs release.
|
|
79 The comint-based shell.el and gud.el will be replaced later.
|
|
80 Telnet.el can then be junked.
|
|
81 Long-term, term.el will replace comint.el, but can co-exist with it.
|
|
82
|
|
83 Comments and bug fixes should be sent to Per Bothner (bothner@cygnus.com).
|
|
84 Note that I'm new to emacs hacking, so improvements are very welcome.
|