SXEmacs is the extensible, customizable, self-documenting real-time display editor. This Info file describes how to edit with Emacs and some of how to customize it, but not how to extend it. It corresponds to: v22.1.16
Although, it hasn’t had a complete rewrite for quite some time.
This manual is intended as a detailed reference to SXEmacs. If you are looking for an introductory manual, see the New User’s Guide.
• License: | The GNU General Public License gives you permission to redistribute SXEmacs on certain terms; and also explains that there is no warranty. | |
• Distrib: | How to get SXEmacs. | |
• Intro: | An introduction to SXEmacs concepts. | |
• Glossary: | The glossary. | |
Indices, nodes containing large menus | ||
---|---|---|
• Key Index: | An item for each standard SXEmacs key sequence. | |
• Command Index: | An item for each command name. | |
• Variable Index: | An item for each documented variable. | |
• Concept Index: | An item for each concept. | |
Important General Concepts | ||
• Frame: | How to interpret what you see on the screen. | |
• Keystrokes: | Keyboard gestures SXEmacs recognizes. | |
• Pull-down Menus: | The SXEmacs Pull-down Menus available under X. | |
• Entering Emacs: | Starting Emacs from the shell. | |
• Exiting: | Stopping or killing SXEmacs. | |
• Command Switches: | Hairy startup options. | |
• Startup Paths: | How SXEmacs finds Directories and Files. | |
• Packages: | How SXEmacs organizes its high-level functionality. | |
Fundamental Editing Commands | ||
• Basic: | The most basic editing commands. | |
• Undo: | Undoing recently made changes in the text. | |
• Minibuffer: | Entering arguments that are prompted for. | |
• M-x: | Invoking commands by their names. | |
• Help: | Commands for asking SXEmacs about its commands. | |
Important Text-Changing Commands | ||
• Mark: | The mark: how to delimit a “region” of text. | |
• Mouse Selection: | Selecting text with the mouse. | |
• Additional Mouse Operations: | Other operations available from the mouse. | |
• Killing: | Killing text. | |
• Yanking: | Recovering killed text. Moving text. | |
• Using X Selections: | Using primary selection, cut buffers, and highlighted regions. | |
• Accumulating Text: | Other ways of copying text. | |
• Rectangles: | Operating on the text inside a rectangle on the screen. | |
• Registers: | Saving a text string or a location in the buffer. | |
• Display: | Controlling what text is displayed. | |
• Search: | Finding or replacing occurrences of a string. | |
• Fixit: | Commands especially useful for fixing typos. | |
Larger Units of Text | ||
• Files: | All about handling files. | |
• Buffers: | Multiple buffers; editing several files at once. | |
• Windows: | Viewing two pieces of text at once. | |
• Mule: | Using world scripts. | |
Advanced Features | ||
• Major Modes: | Text mode vs. Lisp mode vs. C mode ... | |
• Indentation: | Editing the white space at the beginnings of lines. | |
• Text: | Commands and modes for editing English. | |
• Programs: | Commands and modes for editing programs. | |
• Running: | Compiling, running and debugging programs. | |
• Abbrevs: | How to define text abbreviations to reduce the number of characters you must type. | |
• Picture: | Editing pictures made up of characters using the quarter-plane screen model. | |
• Sending Mail: | Sending mail in SXEmacs. | |
• Reading Mail: | Reading mail in SXEmacs. | |
• Calendar/Diary: | A Calendar and diary facility in SXEmacs. | |
• Sorting: | Sorting lines, paragraphs or pages within SXEmacs. | |
• Shell: | Executing shell commands from SXEmacs. | |
• Narrowing: | Restricting display and editing to a portion of the buffer. | |
• Hardcopy: | Printing buffers or regions. | |
• Recursive Edit: | A command can allow you to do editing "within the command". This is called a ‘recursive editing level’. | |
• Dissociated Press: | Dissociating text for fun. | |
• CONX: | A different kind of dissociation. | |
• Amusements: | Various games and hacks. | |
• Emulation: | Emulating some other editors with SXEmacs. | |
• Customization: | Modifying the behavior of SXEmacs. | |
Recovery from Problems. | ||
• Quitting: | Quitting and aborting. | |
• Lossage: | What to do if SXEmacs is hung or malfunctioning. | |
• Bugs: | How and when to report a bug. | |
Here are some other nodes which are really inferiors of the ones already listed, mentioned here so you can get to them in one step: — The Detailed Node Listing — The Organization of the Frame | ||
• Point: | The place in the text where editing commands operate. | |
• Echo Area: | Short messages appear at the bottom of the frame. | |
• Mode Line: | Interpreting the mode line. | |
• SXEmacs under X: | Some information on using SXEmacs under the X Window System. | |
Keystrokes | ||
• Intro to Keystrokes: | Keystrokes as building blocks of key sequences. | |
• Representing Keystrokes: | Using lists of modifiers and keysyms to represent keystrokes. | |
• Key Sequences: | Combine key strokes into key sequences you can bind to commands. | |
• String Key Sequences: | Available for upward compatibility. | |
• Meta Key: | Using ESC to represent Meta | |
• Super and Hyper Keys: | Adding modifier keys on certain keyboards. | |
• Character Representation: | How characters appear in SXEmacs buffers. | |
• Commands: | How commands are bound to key sequences. | |
Pull-down Menus | ||
• File Menu: | Items on the File menu. | |
• Edit Menu: | Items on the Edit menu. | |
• Apps Menu: | Items on the Apps menu. | |
• Options Menu: | Items on the Options menu. | |
• Buffers Menu: | Information about the Buffers menu. | |
• Tools Menu: | Items on the Tools menu. | |
• Help Menu: | Items on the Help menu. | |
• Menu Customization: | Adding and removing menu items and related operations. | |
Packages | ||
• Packages: | Introduction to SXEmacs Packages. | |
• Package Terminology: | Understanding different kinds of packages. | |
• Installing Packages: | How to install packages. | |
• Building Packages: | Building packages from sources. | |
• Local.rules File: | An important part of building packages. | |
• Available Packages: | A brief directory of packaged LISP. | |
Basic Editing Commands | ||
• Blank Lines: | Commands to make or delete blank lines. | |
• Continuation Lines: | Lines too wide for the frame. | |
• Position Info: | What page, line, row, or column is point on? | |
• Arguments: | Numeric arguments for repeating a command. | |
The Minibuffer | ||
• File: | Entering file names with the minibuffer. | |
• Edit: | How to edit in the minibuffer. | |
• Completion: | An abbreviation facility for minibuffer input. | |
• Repetition: | Re-executing commands that used the minibuffer. | |
The Mark and the Region | ||
• Setting Mark: | Commands to set the mark. | |
• Using Region: | Summary of ways to operate on contents of the region. | |
• Marking Objects: | Commands to put region around textual units. | |
• Mark Ring: | Previous mark positions saved so you can go back there. | |
Yanking | ||
• Kill Ring: | Where killed text is stored. Basic yanking. | |
• Appending Kills: | Several kills in a row all yank together. | |
• Earlier Kills: | Yanking something killed some time ago. | |
Using X Selections | ||
• X Clipboard Selection: | Pasting to the X clipboard. | |
• X Selection Commands: | Other operations on the selection. | |
• X Cut Buffers: | X cut buffers are available for compatibility. | |
• Active Regions: | Using zmacs-style highlighting of the selected region. | |
Registers | ||
• Position: | Saving positions in registers. | |
• Text: | Saving text in registers. | |
• Rectangle: | Saving rectangles in registers. | |
• Configurations: | Saving window configurations in registers. | |
• Files: | File names in registers. | |
• Numbers: | Numbers in registers. | |
• Bookmarks: | Bookmarks are like registers, but persistent. | |
Controlling the Display | ||
• Scrolling: | Moving text up and down in a window. | |
• Horizontal Scrolling: | Moving text left and right in a window. | |
• Selective Display: | Hiding lines with lots of indentation. | |
• Display Vars: | Information on variables for customizing display. | |
Searching and Replacement | ||
• Incremental Search: | Search happens as you type the string. | |
• Non-Incremental Search: | Specify entire string and then search. | |
• Word Search: | Search for sequence of words. | |
• Regexp Search: | Search for match for a regexp. | |
• Regexps: | Syntax of regular expressions. | |
• Search Case: | To ignore case while searching, or not. | |
• Replace: | Search, and replace some or all matches. | |
• Other Repeating Search: | Operating on all matches for some regexp. | |
Replacement Commands | ||
• Unconditional Replace: | Replacing all matches for a string. | |
• Regexp Replace: | Replacing all matches for a regexp. | |
• Replacement and Case: | How replacements preserve case of letters. | |
• Query Replace: | How to use querying. | |
Commands for Fixing Typos | ||
• Kill Errors: | Commands to kill a batch of recently entered text. | |
• Transpose: | Exchanging two characters, words, lines, lists... | |
• Fixing Case: | Correcting case of last word entered. | |
• Spelling: | Apply spelling checker to a word, or a whole file. | |
File Handling | ||
• File Names: | How to type and edit file name arguments. | |
• Visiting: | Visiting a file prepares SXEmacs to edit the file. | |
• Saving: | Saving makes your changes permanent. | |
• Reverting: | Reverting cancels all the changes not saved. | |
• Auto Save: | Auto Save periodically protects against loss of data. | |
• Version Control: | Version control systems (RCS and SCCS). | |
• ListDir: | Listing the contents of a file directory. | |
• Comparing Files: | Finding where two files differ. | |
• Dired: | “Editing” a directory to delete, rename, etc. the files in it. | |
• Misc File Ops: | Other things you can do on files. | |
Saving Files | ||
• Backup: | How SXEmacs saves the old version of your file. | |
• Interlocking: | How SXEmacs protects against simultaneous editing of one file by two users. | |
Backup Files | ||
• Names: | How backup files are named; Choosing single or numbered backup files. | |
• Deletion: | SXEmacs deletes excess numbered backups. | |
• Copying: | Backups can be made by copying or renaming. | |
Auto-Saving: Protection Against Disasters | ||
• Files: | ||
• Control: | ||
• Recover: | Recovering text from auto-save files. | |
Version Control | ||
• Concepts of VC: | Basic version control information; checking files in and out. | |
• Editing with VC: | Commands for editing a file maintained with version control. | |
• Variables for Check-in/out: | Variables that affect the commands used to check files in or out. | |
• Log Entries: | Logging your changes. | |
• Change Logs and VC: | Generating a change log file from log entries. | |
• Old Versions: | Examining and comparing old versions. | |
• VC Status: | Commands to view the VC status of files and look at log entries. | |
• Renaming and VC: | A command to rename both the source and master file correctly. | |
• Snapshots: | How to make and use snapshots, a set of file versions that can be treated as a unit. | |
• Version Headers: | Inserting version control headers into working files. | |
Snapshots | ||
• Making Snapshots: | The snapshot facilities. | |
• Snapshot Caveats: | Things to be careful of when using snapshots. | |
Dired, the Directory Editor | ||
• Enter: | How to invoke Dired. | |
• Edit: | Editing the Dired buffer. | |
• Deletion: | Deleting files with Dired. | |
• Immed: | Other file operations through Dired. | |
Using Multiple Buffers | ||
• Select Buffer: | Creating a new buffer or reselecting an old one. | |
• List Buffers: | Getting a list of buffers that exist. | |
• Misc Buffer: | Renaming; changing read-onliness; copying text. | |
• Kill Buffer: | Killing buffers you no longer need. | |
• Several Buffers: | How to go through the list of all buffers and operate variously on several of them. | |
Multiple Windows | ||
• Basic Window: | Introduction to SXEmacs windows. | |
• Split Window: | New windows are made by splitting existing windows. | |
• Other Window: | Moving to another window or doing something to it. | |
• Pop Up Window: | Finding a file or buffer in another window. | |
• Change Window: | Deleting windows and changing their sizes. | |
Major Modes | ||
• Choosing Modes: | How major modes are specified or chosen. | |
Indentation | ||
• Indentation Commands: | Various commands and techniques for indentation. | |
• Tab Stops: | You can set arbitrary "tab stops" and then indent to the next tab stop when you want to. | |
• Just Spaces: | You can request indentation using just spaces. | |
Commands for Human Languages | ||
• Text Mode: | The major modes for editing text files. | |
• Nroff Mode: | The major mode for editing input to the formatter nroff. | |
• TeX Mode: | The major modes for editing input to the formatter TeX. | |
• Outline Mode: | The major mode for editing outlines. | |
• Words: | Moving over and killing words. | |
• Sentences: | Moving over and killing sentences. | |
• Paragraphs: | Moving over paragraphs. | |
• Pages: | Moving over pages. | |
• Filling: | Filling or justifying text | |
• Case: | Changing the case of text | |
TeX Mode | ||
• Editing: | Special commands for editing in TeX mode. | |
• Printing: | Commands for printing part of a file with TeX. | |
Outline Mode | ||
• Format: | What the text of an outline looks like. | |
• Motion: | Special commands for moving through outlines. | |
• Visibility: | Commands to control what is visible. | |
Filling Text | ||
• Auto Fill: | Auto Fill mode breaks long lines automatically. | |
• Fill Commands: | Commands to refill paragraphs and center lines. | |
• Fill Prefix: | Filling when every line is indented or in a comment, etc. | |
Editing Programs | ||
• Program Modes: | Major modes for editing programs. | |
• Lists: | Expressions with balanced parentheses. There are editing commands to operate on them. | |
• Defuns: | Each program is made up of separate functions. There are editing commands to operate on them. | |
• Grinding: | Adjusting indentation to show the nesting. | |
• Matching: | Insertion of a close-delimiter flashes matching open. | |
• Comments: | Inserting, filling and aligning comments. | |
• Balanced Editing: | Inserting two matching parentheses at once, etc. | |
• Lisp Completion: | Completion on symbol names in Lisp code. | |
• Documentation: | Getting documentation of functions you plan to call. | |
• Change Log: | Maintaining a change history for your program. | |
• Tags: | Go directly to any function in your program in one command. Tags remembers which file it is in. | |
• CC Mode: | Modes for C, C++, Java and similar languages | |
• Fortran: | Fortran mode and its special features. | |
• Asm Mode: | Asm mode and its special features. | |
Indentation for Programs | ||
• Basic Indent: | ||
• Multi-line Indent: | Commands to reindent many lines at once. | |
• Lisp Indent: | Specifying how each Lisp function should be indented. | |
Tags Tables | ||
• Tag Syntax: | Tag syntax for various types of code and text files. | |
• Create Tags Table: | Creating a tags table with etags .
| |
• Select Tags Table: | How to visit a tags table. | |
• Find Tag: | Commands to find the definition of a specific tag. | |
• Tags Search: | Using a tags table for searching and replacing. | |
• List Tags: | Listing and finding tags defined in a file. | |
Fortran Mode | ||
• Motion: | Moving point by statements or subprograms. | |
• Indent: | Indentation commands for Fortran. | |
• Comments: | Inserting and aligning comments. | |
• Columns: | Measuring columns for valid Fortran. | |
• Abbrev: | Built-in abbrevs for Fortran keywords. | |
Fortran Indentation | ||
• Commands: | Commands for indenting Fortran. | |
• Numbers: | How line numbers auto-indent. | |
• Conv: | Conventions you must obey to avoid trouble. | |
• Vars: | Variables controlling Fortran indent style. | |
Compiling and Testing Programs | ||
• Compilation: | Compiling programs in languages other than Lisp (C, Pascal, etc.) | |
• Modes: | Various modes for editing Lisp programs, with different facilities for running the Lisp programs. | |
• Libraries: | Creating Lisp programs to run in SXEmacs. | |
• Eval: | Executing a single Lisp expression in SXEmacs. | |
• Debug: | Debugging Lisp programs running in SXEmacs. | |
• Interaction: | Executing Lisp in an SXEmacs buffer. | |
• External Lisp: | Communicating through SXEmacs with a separate Lisp. | |
Lisp Libraries | ||
• Loading: | Loading libraries of Lisp code into SXEmacs for use. | |
• Compiling Libraries: | Compiling a library makes it load and run faster. | |
• Mocklisp: | Converting Mocklisp to Lisp so SXEmacs can run it. | |
Abbrevs | ||
• Defining Abbrevs: | Defining an abbrev, so it will expand when typed. | |
• Expanding Abbrevs: | Controlling expansion: prefixes, canceling expansion. | |
• Editing Abbrevs: | Viewing or editing the entire list of defined abbrevs. | |
• Saving Abbrevs: | Saving the entire list of abbrevs for another session. | |
• Dynamic Abbrevs: | Abbreviations for words already in the buffer. | |
Editing Pictures | ||
• Basic Picture: | Basic concepts and simple commands of Picture Mode. | |
• Insert in Picture: | Controlling direction of cursor motion after "self-inserting" characters. | |
• Tabs in Picture: | Various features for tab stops and indentation. | |
• Rectangles in Picture: | Clearing and superimposing rectangles. | |
Sending Mail | ||
• Format: | Format of the mail being composed. | |
• Headers: | Details of allowed mail header fields. | |
• Mode: | Special commands for editing mail being composed. | |
Running Shell Commands from SXEmacs | ||
• Single Shell: | How to run one shell command and return. | |
• Interactive Shell: | Permanent shell taking input via SXEmacs. | |
• Shell Mode: | Special SXEmacs commands used with permanent shell. | |
Customization | ||
• Minor Modes: | Each minor mode is one feature you can turn on independently of any others. | |
• Variables: | Many SXEmacs commands examine SXEmacs variables to decide what to do; by setting variables, you can control their functioning. | |
• Keyboard Macros: | A keyboard macro records a sequence of keystrokes to be replayed with a single command. | |
• Key Bindings: | The keymaps say what command each key runs. By changing them, you can "redefine keys". | |
• Syntax: | The syntax table controls how words and expressions are parsed. | |
• Init File: | How to write common customizations in the init file. | |
• Audible Bell: | Changing how SXEmacs sounds the bell. | |
• Faces: | Changing the fonts and colors of a region of text. | |
• X Resources: | X resources controlling various aspects of the behavior of SXEmacs. | |
Variables | ||
• Examining: | Examining or setting one variable’s value. | |
• Easy Customization: | Convenient and easy customization of variables. | |
• Edit Options: | Examining or editing list of all variables’ values. | |
• Locals: | Per-buffer values of variables. | |
• File Variables: | How files can specify variable values. | |
Keyboard Macros | ||
• Basic Kbd Macro: | Defining and running keyboard macros. | |
• Save Kbd Macro: | Giving keyboard macros names; saving them in files. | |
• Kbd Macro Query: | Keyboard macros that do different things each use. | |
Customizing Key Bindings | ||
• Keymaps: | Definition of the keymap data structure. Names of SXEmacs’s standard keymaps. | |
• Rebinding: | How to redefine one key’s meaning conveniently. | |
• Disabling: | Disabling a command means confirmation is required before it can be executed. This is done to protect beginners from surprises. | |
The Syntax Table | ||
• Entry: | What the syntax table records for each character. | |
• Change: | How to change the information. | |
The Init File | ||
• Init Syntax: | Syntax of constants in Emacs Lisp. | |
• Init Examples: | How to do some things with an init file. | |
• Terminal Init: | Each terminal type can have an init file. | |
Dealing with SXEmacs Trouble | ||
• Stuck Recursive: | ‘[...]’ in mode line around the parentheses. | |
• Screen Garbled: | Garbage on the screen. | |
• Text Garbled: | Garbage in the text. | |
• Unasked-for Search: | Spontaneous entry to incremental search. | |
• Emergency Escape: | Emergency escape— What to do if SXEmacs stops responding. | |
• Total Frustration: | When you are at your wits’ end. | |