Download GNU Emacs Manual

Transcript
Appendix F: Emacs and Mac OS / GNUstep
502
Appendix F Emacs and Mac OS / GNUstep
This section describes the peculiarities of using Emacs built with the GNUstep libraries
on GNU/Linux or other operating systems, or on Mac OS X with native window system
support. On Mac OS X, Emacs can be built either without window system support, with
X11, or with the Cocoa interface; this section only applies to the Cocoa build. This does
not support versions of Mac OS X earlier than 10.4.
For various historical and technical reasons, Emacs uses the term ‘Nextstep’ internally,
instead of “Cocoa” or “Mac OS X”; for instance, most of the commands and variables
described in this section begin with ‘ns-’, which is short for ‘Nextstep’. NeXTstep was
an application interface released by NeXT Inc during the 1980s, of which Cocoa is a direct
descendant. Apart from Cocoa, there is another NeXTstep-style system: GNUstep, which
is free software. As of this writing, Emacs GNUstep support is alpha status (see Section F.4
[GNUstep Support], page 504), but we hope to improve it in the future.
F.1 Basic Emacs usage under Mac OS and GNUstep
By default, the alt and option keys are the same as Meta. The Mac Cmd key is the same as
Super, and Emacs provides a set of key bindings using this modifier key that mimic other
Mac / GNUstep applications (see Section F.3 [Mac / GNUstep Events], page 503). You
can change these bindings in the usual way (see Section 33.3 [Key Bindings], page 428).
The variable ns-right-alternate-modifier controls the behavior of the right alt and
option keys. These keys behave like the left-hand keys if the value is left (the default).
A value of control, meta, alt, super, or hyper makes them behave like the corresponding
modifier keys; a value to left means be the same key as ns-alternate-modifier; a value
of none tells Emacs to ignore them.
S-Mouse-1 adjusts the region to the click position, just like Mouse-3 (mouse-save-thenkill); it does not pop up a menu for changing the default face, as S-Mouse-1 normally
does (see Section 11.11 [Text Scale], page 78). This change makes Emacs behave more like
other Mac / GNUstep applications.
When you open or save files using the menus, or using the Cmd-o and Cmd-S bindings,
Emacs uses graphical file dialogs to read file names. However, if you use the regular Emacs
key sequences, such as C-x C-f, Emacs uses the minibuffer to read file names.
On GNUstep, in an X-windows environment you need to use Cmd-c instead of one of the
C-w or M-w commands to transfer text to the X primary selection; otherwise, Emacs will
use the “clipboard” selection. Likewise, Cmd-y (instead of C-y) yanks from the X primary
selection instead of the kill-ring or clipboard.
F.1.1 Grabbing environment variables
Many programs which may run under Emacs, like latex or man, depend on the settings of
environment variables. If Emacs is launched from the shell, it will automatically inherit
these environment variables and its subprocesses will inherit them from it. But if Emacs is
launched from the Finder it is not a descendant of any shell, so its environment variables
haven’t been set, which often causes the subprocesses it launches to behave differently than
they would when launched from the shell.