PceEmacs closely mimics Richard Stallman's GNU-Emacs commands, adding features from modern window-based editors to make it more acceptable for beginners.44Decent merging with MS-Windows control-key conventions is difficult as many conflict with GNU-Emacs. Especially the cut/copy/paste commands conflict with important GNU-Emacs commands.
At the basis, PceEmacs maps keyboard sequences to methods defined on
the extended editor object. Some frequently used commands are,
with their key-binding, presented in the menu bar above each editor
window. A complete overview of the bindings for the current mode
is provided through Help/Show key bindings (Control-h
Control-b
).
Modes are the heart of (Pce)Emacs. Modes define dedicated editing support for a particular kind of (source) text. For our purpose we want Prolog mode. There are various ways to make PceEmacs use Prolog mode for a file.
.pl
or the selected alternative (e.g. .pro
)
extension, Prolog mode is selected.
#!/path/to/.../swipl
#!/path/to/swipl
options, Prolog mode is
selected regardless of the extension.
-*- Prolog -*-
Below we list a few important commands and how to activate them.
DEL
key or by
typing something else at the location. Paste is achieved using
the middle-mouse (or wheel) button. If you don't have a middle-mouse
button, pressing the left- and right-button at the same time is
interpreted as a middle-button click. If nothing helps, there is the Edit/Paste
menu entry. Text is pasted at the caret location.
Control-_
as well as the
MS-Windows
Control-Z
sequence.
Control-G
.
Control-S
(forward) or
Control-R
(backward). PceEmacs implements incremental
search. This is difficult to use for novices, but very powerful
once you get the clue. After one of the above start keys, the system
indicates search mode in the status line. As you are typing the search
string, the system searches for it, extending the search with every
character you type. It illustrates the current match using a green
background.
If the target cannot be found, PceEmacs warns you and no longer extends the search string.45GNU-Emacs keeps extending the string, but why? Adding more text will not make it match. During search, some characters have special meaning. Typing anything but these characters commits the search, re-starting normal edit mode. Special commands are:
Control-S
Control-R
Control-W
Control-G
ESC
Backspace
Alt-/
, causing
PceEmacs to search backwards for identifiers that start the same and use
it to complete the text you typed. A second Alt-/
searches
further backwards. If there are no hits before the caret, it starts
searching forwards. With some practice, this system allows for entering
code very fast with nice and readable identifiers (or other difficult
long words).
Control-x Control-f
).
By default the file is loaded into the current window. If you want to
keep this window, press Alt-s
or click the little icon at
the bottom left to make the window sticky.
Control-x 2
to create a new window pointing to the same
file. Do not worry, you can edit as well as move around in both.
Control-x 1
kills all other windows running on the same
file.These are the most commonly used commands. In section 3.4.3 we discuss specific support for dealing with Prolog source code.