Lugaru's Epsilon

Epsilon User's Manual and Reference
   Commands by Topic
      . . .
      Moving Around
         Simple Movement Commands
         Moving in Larger Units
         . . .
      Changing Text
         Inserting and Deleting
         Killing Text
         Clipboard Access
         . . .
      Language Modes
         Asm Mode
         Batch Mode
         C Mode
         . . .
         Visual Basic Mode
      . . .

Previous   Up    Next
Comparing  Commands by Topic   Killing Text


Inserting and Deleting

When you type most alphabetic or numeric keys, they appear in the buffer before point. Typing one of these keys runs the command normal-character, which simply inserts the character that invoked it into the buffer.

When you type a character bound to the normal-character command, Epsilon inserts the character before point, so that the cursor moves forward as you type characters. Epsilon can also overwrite as you type. The overwrite-mode command, bound to the <Ins> key, toggles overwriting for the current buffer. If you give it a nonzero numeric argument (for example, by typing Ctrl-U before invoking the command, see Numeric Arguments), it doesn't toggle overwriting, but turns it on. Similarly, a numeric argument of zero always turns off overwriting. Overwriting will occur for all characters except newline, and overwriting never occurs at the end of a line. In these cases the usual insertion will happen. The buffer-specific variable over-mode controls overwriting.

The Ctrl-Q key inserts special characters, such as control characters, into the current buffer. It waits for you to type a character, then inserts it. This command ignores keys that don't represent characters, such as <Home> or F3. If you "quote" an Alt key in this way, Epsilon inserts the corresponding character with its high bit on. You can use this command for inserting characters like Ctrl-Z that would normally execute a command when typed.

Sometimes you may want to insert a character whose numeric ASCII value you know, but you may not know which keystroke that character corresponds to. Epsilon provides an insert-ascii command on Alt-# for this purpose. It prompts you for a numeric value, then inserts the character with that value into the buffer. By default, the command interprets the value in base 10. You can specify a hexadecimal value by prefixing the characters "0x" to the number, or an octal value by prefixing the character "0o" to the number, or a binary value by prefixing "0b". For example, the numbers "87", "0x57", "0o127", and "0b1010111" all refer to the same number, and they all would insert a "W" character if given to the insert-ascii command.

You can also use the name of a Unicode character inside angle brackets, like "<square root>", with Alt-#. Press ? to see a list of characters with their Unicode names. You can use completion on character names like this, and search in the list of names as usual.

In most environments you can type graphics characters by holding down the Alt key and typing the character's value on the numeric keypad, but see the alt-numpad-keys variable. In some environments, Epsilon will automatically quote the character so that it's inserted in the buffer and not interpreted as a command. (You may need to type a Ctrl-Q first to quote the character in other environments.)

The Ctrl-O command inserts a newline after point (or, to put it another way, inserts a newline before point as usual, then backs up over it). Use this command to break a line when you want to insert new text in the middle, or to "open" up some space after point.

The <Backspace> key deletes the character before point, and the <Del> key deletes the character after point. In other words, <Backspace> deletes backwards, and <Del> deletes forwards. These commands usually do not save deleted characters in the kill ring (see the next section).

If you prefix these commands with a numeric argument of n, they will delete n characters instead of one. In that case, you can retrieve the deleted text from the kill ring with the Ctrl-Y key (see the next section).

If <Backspace> or <Del> follows one of the kill commands, the deleted character becomes part of the text removed by the kill command. See the following section for information on the kill commands, and the delete-options variable to change this behavior.

The buffer-specific variable delete-hacking-tabs makes <Backspace> operate differently when deleting tabs or spaces. If 1, when <Backspace> deletes a tab, it first turns the tab into the number of spaces necessary to keep the cursor in the same column, then deletes one of the spaces. If 2, when <Backspace> deletes a space, it deletes additional spaces and tabs until it reaches the previous tab column. The first setting makes <Backspace> treat tabs more like spaces; the second makes it treats spaces more like tabs. Other bits in the variable limit the circumstances where <Backspace> does this; see the variable's documentation for details.

The key Alt-\ deletes spaces and tabs surrounding point.

The Ctrl-X Ctrl-O command deletes empty lines adjacent to point, or lines that contain only spaces and tabs, turning two or more such blank lines into a single blank line. Ctrl-X Ctrl-O deletes a lone blank line. If you prefix a numeric argument of n, exactly n blank lines appear regardless of the number of blank lines present originally. With a highlighted region, the command does this at every sequence of one or more blank lines throughout the region.

Standard bindings:

  Ctrl-Q   quoted-insert
 Alt-#   insert-ascii
 Ctrl-O   open-line
 Ctrl-H, <Backspace>  backward-delete-character
 Ctrl-D, <Del>  delete-character
 Alt-\   delete-horizontal-space
 Ctrl-X Ctrl-O  delete-blank-lines
 "normal keys"  normal-character
 <Ins>  overwrite-mode

Previous   Up    Next
Comparing  Commands by Topic   Killing Text
