U-003, JOVE TEXT EDITOR ON THE RS/6000 OR SUN COMPUTER


Table of Contents


INTRODUCTION

JOVE (Jonathan's Own Version of Emacs) is an interactive, screen- oriented editor with which files can be created and modified. The version of JOVE described in this document is available on the University's NeXTs, SGIs, Sun workstations and RS/6000s. This document is designed to introduce you to some of the basic JOVE commands. See the JOVE man pages and U-003A, ``JOVE Manual for UNIX Users'' (available for purchase from Professor Publishing, University of Virginia Bookstore) for complete in- formation on all commands and functions.

Setting Terminal Type

Before invoking JOVE to create or modify a file, the terminal type you are using (or emulating, if you are using a microcomputer) must be set correctly. For accounts created after August '93, you will be prompted for the correct terminal type, VT100, and your login shell is ksh ($ prompt or Umenu interface). In this case you will need to make no modifications to your environment. If you emulate another terminal type, you may set the terminal type with the commands appropriate to which shell you are running:
Korn shell (ksh) C shell (csh)
TERM=vt100<CR>
export TERM<CR>
setenv TERM vt100<CR>

Remember, when issuing these commands interactively, you must press the carriage return key (the key marked by the Return, Enter, or <-|). In this document, a <CR> indicates that you need to press the carriage return key.

Instead of issuing these commands interactively, you could put them in your .variables.ksh(csh) file or if that file doesn't exist, your .profile (ksh) or .login (csh) file. For more information on shell variables (such as TERM) and the .variables.ksh and .profile files, see U-002, ``Introduction to the Unix Operating System.''

INVOKING JOVE

To invoke JOVE, type
jove filename<CR>

where filename is the name of the file to be created or modified. To create a new file named ``test.jove,'' type

jove test.jove<CR>

Your terminal screen will look something like the following:

                  ______________________________________________________
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
                  |                                                     |
Mode line->       |  JOVE (Text) Buffer:test.jove "test.jove" - (13:44) |
Message line->    |(new file)                                           |
                  |_____________________________________________________|
The square at the top of the screen is the cursor. The two lines at the bottom of the screen are called the ``mode'' line and ``message'' line.
(Text) What mode JOVE is currently in (see the table of JOVE modes). Some times two modes will be displayed, in which case the first mode is called the major mode and the second is called the minor mode.
Buffer: test.jove "test.jove" The name of the currently selected buffer and the name of the file (enclosed in quotes). Often these names are the same (as in this instance). A buffer is temporary file space used by the editor; the buffers will disappear when you exit JOVE. Changes you make during the editing session are made to the buffer. Changes are not made to the file until you explicitly write the modified buffer to the file with a write (save-file, write-modified-files, or write-file) command. Usually you will write to the file shown in the mode line (using the save- file command).
(13:44) This is the current time of day.
(new file) Since test.jove is the name of a file that does not exist in your current directory, JOVE assumes that you want to create a new file with the name test.jove. If you had given the name of an existing file, the number of lines and characters in that file would have been printed on this line.

ENTERING TEXT, ISSUING AND CANCELING COMMANDS

Entering Text

JOVE is always in insert mode. Any text that you type after invoking the editor will be inserted into the file. For example, if you have invoked JOVE with the command jove test.jove as above, you could then type the following lines of text into your empty buffer. Use the BACKSPACE key (may be marked <-) to correct errors as you type. Press the carriage return key at the end of each line.

This is a practice file to help me<CR>
learn how to use the JOVE<CR>
editor. The more I practice, the better I will get!<CR>
When I press the carriage return key twice,<CR>
CR
I create a blank line.<CR>
Lines end when I press the carriage return key.<CR>

The screen would now look like this:

        ______________________________________________________________
        |This is a practice file to help me                           |
        |learn how to use the JOVE                                    |
        |editor.  The more I practice, the better I will get!         |
        |When I press the carriage return key twice,                  |
        |                                                             |
        |I create a blank line.                                       |
        |Lines end when I press the carriage return key.              |
        |[]                                                           |
        |                                                             |
        |                                                             |
        |                                                             |
        |                                                             |
        |                                                             |
        |   JOVE (Text)   Buffer: test.jove   "test.jove"  *  (13:50) |
        |                                                             |
        |_____________________________________________________________|

NOTE: The asterisk (*) on the mode line means the file has been modified since the last save.

If you prefer to enter text without having to press the carriage return key at the end of each line, issue the following JOVE command: ESC x auto-fill-mode<CR>

Tap the ESC key, and then tap the letter ``x'' - the ``x'' can be either upper or lower case. Your cursor will now be at the bottom of the screen positioned after a colon. Type auto-fill-mode followed by a carriage return. Now when you are entering text, JOVE will decide when to wrap a line of text, inserting a carriage return at the end of each line. You need only press the carriage return key when you begin a new paragraph. This is called power typing.

To turn this power typing off, type

ESC x auto-fill-mode<CR>

This command toggles the auto-fill-mode setting to off if it is on, or to on if it is already off. When you turn auto-fill-mode on, the mode line shows that you are in two modes: Text and Fill. (``Text'' is the major mode; ``Fill'' is the minor mode.)

Issuing Commands

Bound Commands. Most JOVE commands are bound to some key sequence; to execute the command, type the sequence. JOVE commands are always preceded by a special key that alerts JOVE that a command is coming.

The two special keys are used as follows:
CTRL (CONTROL key) When the CTRL key is specified, hold down the CTRL key and tap the key or keys specified. If the command specifies a letter, a lowercase letter is fine. Release the CTRL key after tapping the specified key or keys. For example, to move the cursor forward a character at a time, the command forward-character has been bound to CTRL-F. To execute the command, hold down the CTRL key, tap the letter ``f,'' and then release the CTRL key.
ESC (ESCAPE key) When the ESC key is specified, tap it, and then tap whatever key is specified. If the command specifies a letter, a lowercase letter is fine. For example, to move the cursor forward a word at a time, the command forward-word has been bound to ESC f. Execute this command by tapping ESC, and then tapping the letter ``f.''
Unbound Commands. Some commands have been left unbound to a key sequence. To execute them, type ESC x followed by the command name. See the list of commands at the end of this document to find out which commands are unbound.

For example, to put line numbers for the buffer on the screen, type

ESC x number-lines-in-window<CR>

In general, you can press the space bar instead of typing the `-', JOVE will know to fill in the hyphens. Most command names need not be typed completely, because as soon as JOVE recognizes the command, it can be executed. In the above example, ESC x number is enough to execute the command.

To turn line numbers off, re-execute the command, since number-lines-in- window is a ``toggle'' command.

Canceling a Command

To cancel a command that has not been completely entered, type CTRL-G.

SAVING FILES AND EXITING JOVE

Saving Files

The save-file command (CTRL-X s) saves the current buffer to the current file. (The names of the buffer and file are shown in the mode line at the bottom of the screen.)

NOTE: If you accidentally press CTRL-X CTRL-S (instead of CTRL-X s), your screen may freeze. If it does, type CTRL-Q to unfreeze your screen.

The write-file command (CTRL-X CTRL-W) writes the contents of the current buffer to a file specified by you. After you type CTRL-X CTRL-W, JOVE will prompt you for the new filename. Type the filename and press the carriage return key. The write-file command is useful if you invoked JOVE without a filename, or if you want to save the buffer into a new file (thus keeping your original file in its original, unmodified state). If you save the buffer into the old file, a copy of the old file is retained with the name filename~.

Exiting JOVE

Exit JOVE with CTRL-X CTRL-C. If you made changes to the buffer and you haven't saved the changes to a file, JOVE will warn you that some buffers haven't been saved and ask you if you want to leave anyway.

MOVING THE CURSOR (POINT)

The position of the cursor (called the point in JOVE) can be controlled with the following commands. Remember that when the command includes the CTRL key, hold CTRL while typing the next key; when the command includes the ESC key, tap ESC before tapping the next key. The case of the letter may be upper or lower.

Command Effect
CTRL-B back (left) one character
CTRL-F forward (right) one character
CTRL-P previous (up) line (Caution: ESC p suspends JOVE)
CTRL-N next (down) line
CTRL-A beginning of current line
CTRL-E end of current line
ESC b back (left) one word
ESC f forward (right) one word
ESC g goto; may be prefixed with ESC number to go to line number
ESC m move to indent of current line
ESC v previous page
CTRL-V next page
ESC > end of file
ESC < beginning of file
ESC . end of window
ESC , beginning of window
CTRL-X n next window
ESC CTRL-V next page in next window
CTRL-X p previous window
Most commands may be preceded by ESC number indicating the number of times to execute the command.

DEFINING REGIONS AND SETTING MARKS

You can define a region that contains a block of text. This is useful when trying to move, copy, or erase blocks of text. A region is all the text between the point (cursor) and the mark that you set. To define a region, follow these steps:

  1. Move the cursor (point) to the place where you want the mark to be.
  2. Issue the set-mark command (CTRL-SPACE or CTRL-@). You will see the message ``Point pushed'' in the message line.
  3. Now that your mark is set, move the cursor (point) to the place where you want the other end of your region to be.
  4. Now your region is defined, and you can issue commands that operate on regions (such as the copy-region command).
If you forget where your mark is, you can use the exchange-point- and-mark command (CTRL-X CTRL-X). CTRL-X CTRL-X moves the point (cursor) to where the mark is, and moves the mark to where the point was. Since you can see your cursor (point), you can now see where the mark was. If you want, you can issue the exchange-point-and-mark command again so that the mark is reset back to its original place.

DELETING, KILLING, AND YANKING TEXT

Text can be erased using delete or kill commands. Text that is erased using delete commands is gone forever. Text that is erased using kill commands can be brought back using the yank command (discussed below).

The following table summarizes some of the commands used to delete and kill text.
Command Meaning
CTRL-D delete character
BACKSPACE or DEL or CTRL-H delete previous character
ESC d kill next word
ESC BACKSPACE or ESC DEL kill previous word
CTRL-K kill from point (cursor) to end of line
CTRL-W kill region (text between mark and point)
ESC \ delete white space around point on current line
CTRL-X CTRL-O delete blank lines around point (cursor)
ESC x erase-buffer deletes all text in named buffer
CTRL-X k delete named buffer
The yank command (CTRL-Y) retrieves the last text that was erased with a kill command. For instance, if you have used the kill-to-end-of-line command (CTRL-K) to kill a line, you may then retrieve that line with the yank command (CTRL-Y). If you issue a second CTRL-Y, you will get a second copy of the line. Each time you press CTRL-Y, you will get another copy of the line (even if you have moved the cursor to another place in the buffer).

JOVE saves the last ten blocks of text killed on a ``kill ring.'' The yank command brings back the block at the front of the ring (the most recently killed block). The yank-pop command is used to access the other killed blocks in the ring. Once you have issued the yank command (CTRL-Y), you can issue the yank-pop command (ESC y). Each time you press ESC y, you will retrieve the next block on the kill ring. After you retrieve the oldest block on the ring, the next ESC y will retrieve the most recently killed block (the block originally brought back with the yank command that started the whole cycle). Multiple uses of ESC y will circle through the ring, retrieving blocks of text.

HOW TO COPY AND MOVE TEXT

Copying a Block of Text

One way to copy text from one position in your file to another is to mark the block of text to be copied, then use the copy-region command. The steps are as follows.

  1. Move the cursor to the first character in the block that is to be copied.
  2. Mark the beginning of the block to be copied with the set-mark command (CTRL-@ or CTRL-SPACE depending on the terminal).
  3. Move the cursor to the end of the block to be copied.
  4. Issue the copy-region command by typing ESC w.
  5. Move the cursor to the position where the copy is to be placed.
  6. Issue the yank command by typing CTRL-Y to put a copy of the text at this position.

Moving a Block of Text

When you copy text, as in the above example, the text remains in its original as well as its new position. When you move text from one position to another, it will be deleted from the original position. One way to move a block of text is described in the steps below.

  1. Move the cursor to the first character in the block that is to be moved.
  2. Mark the beginning of the block with the set-mark command (CTRL-@ or CTRL-SPACE depending on the terminal).
  3. Move the cursor to the position following the last character in the block that is to be moved.
  4. Issue the kill-region command by typing CTRL-W.
  5. Move the cursor to the new position for the text.
  6. Issue the yank command by typing CTRL-Y to move the text to this position.

SEARCHING FOR AND REPLACING TEXT

Simple Search

To search for a string of characters, use the search-forward (ESC s) or search-reverse (ESC r) command. You will be prompted to enter the string for which you want to search; press the carriage return key at the end of the string to tell JOVE that the string is complete. You can repeat the search by typing either ESC s or ESC r followed by a carriage return. (The carriage return tells JOVE to use the search string you specified in the last search.)

By default, the variable case-ignore-searchi is set ``off,'' so that a string must match exactly in order to be found. If you want your search to ignore the case of the characters, issue the command: ESC x set case-ignore-search on<CR>

Search and Replace

If all occurrences of a string are to be replaced by a new string, you may use either the replace-string (ESC CTRL-E) or the query-replace- string (ESC q) command. The former replaces all occurrences of the old string with the new; the latter asks for verification of each change. Type y to make the change or n not to change. Type CTRL-G to stop the search and replace. Both commands prompt for the old string (terminate with a carriage return), and then the new string (also terminated with a carriage return).

READING FROM AND WRITING TO A FILE

The following chart of commands shows the various ways to read a file into a buffer, and how to write a buffer or portion of a buffer to a file.

Command Meaning
CTRL-X CTRL-Iinsert file at point in current buffer
CTRL-X CTRL-Rread file into current buffer; destroys contents of current buffer
CTRL-X CTRL-Ffind file and read into new buffer
CTRL-X ssave current buffer to file
CTRL-X CTRL-Wwrite current buffer to named file (prompts for name)
CTRL-X CTRL-Mwrites (saves) all modified buffers
ESC x write-regionwrites the region (defined by mark and point) to named file
ESC x append-region appends the region (defined by mark and point) to named file

HOW TO EDIT TWO FILES AT THE SAME TIME

You can edit a second file in a second window with JOVE; in fact, you can edit several files at a time in several windows. Follow the steps below to get a second window with a different file in it.

  1. Create the second window by typing CTRL-X 2. Now the screen will display two windows (rather than one). Both windows are attached to the same buffer.
  2. Attach an empty buffer to the second (bottom) window by issuing the select-buffer command (CTRL-X b). JOVE will prompt you for the name of the buffer.
  3. Answer the prompt. You can either:
  4. Now you can edit a new file or an existing file:
  5. Edit the files displayed in the windows. Text is inserted in, and commands affect, the active or current window. The active (or current) window is the window where the cursor is. You can toggle the cursor between the windows with the previous-window command (CTRL-X p or CTRL-X o).

When you want to return to having only one window on the screen, follow the steps below to save a window's buffer and then delete the win- dow.

  1. Move the cursor to the window you want to save using the previous-window command (CTRL-X p). (Recall that commands affect the current window-the window where the cursor is.)
  2. Save the contents of the buffer in the current window to a file with the save-file command (CTRL-X s).
  3. Delete the window where the cursor is with the delete-current- window command (CTRL-X d).
There are other commands that affect windows and buffers; see document U-003A for more information.

CUSTOMIZING JOVE

When the editor is invoked, a system default file called jove.rc initializes JOVE. (This file is in the directory /usr/uva/lib/jove). This file contains JOVE commands that are executed each time you start a JOVE session. You can create your own initialization file by creating a file called .joverc in your home directory. You can also customize JOVE by putting JOVE commands that specify the settings and key bindings that you prefer in this file. The following sample .joverc turns line numbering on and binds the command number-lines-in-window to the key sequence CTRL-X @ and sets auto-fill-mode.

     _____________________________________________________________________
     |#   This is a sample .joverc initialization file.                   |
     |#   The '#' character precedes comments.                            |
     |#                                                                   |
     |number-lines-in-window                                              |
     |#   This causes line numbering to be on when the Jove editing       |
     |#   session starts.                                                 |
     |#                                                                   |
     |bind-to-key number-lines-in-window ^X@                              |
     |#   The command 'number-lines-in-window' is bound to the key        |
     |#   sequence CTRL-X @ (the CTRL key is specified with the '^').     |
     |auto-fill-mode                                                      |
     |auto-execute-command auto-fill-mode                                 |
     |#   Set auto-fill-mode when invoking Jove with or without filename. |
     |                                                                    |
     |   JOVE (Text)   Buffer: .joverc    ".joverc"  -  (18:44)           |
     |____________________________________________________________________|

The sequence CTRL-X @ was used because there isn't a command bound to this sequence by default. If you specify a sequence which normally has a command bound to it (for example CTRL-N), your key binding will override the default key binding. In general, do not override default key bind- ings. See section 15 entitled Simple Customization in document U-003A$ for more information.

HOW TO GET HELP

From Within JOVE

The following commands provide help while you are in JOVE.
apropos Bound to ESC h. Prompts for a keyword. Returns all the commands having to do with the keyword. For in stance, if you type

ESC h window

a screen similar to the following will appear:
The next command you issue will clear the screen and return the text of your file to the screen.

     _____________________________________________________________________
     |Commands                                                            |
     |: beginning-of-window                (ESC ,)                        |
     |: delete-other-windows               (C-X 1)                        |
     |: delete-current-window              (C-X D, C-X d)                 |
     |: end-of-window                      (ESC .)                        |
     |: goto-window-with-buffer                                           |
     |: grow-window                        (C-X ^)                        |
     |: next-window                        (C-X N, C-X n)                 |
     |: number-lines-in-window                                            |
     |: page-next-window                   (ESC C-V)                      |
     |: previous-window                    (C-X {O,P}, C-X {o,p})         |
     |: shrink-window                                                     |
     |: split-current-window               (C-X 2)                        |
     |: visible-spaces-in-window                                          |
     |: window-find                        (C-X 4)                        |
     |                                                                    |
     |Variables                                                           |
     |: set error-window-size              20                             |
     |_______________                                                     |
     |                                                                    |
     |                                                                    |
     |   JOVE (Text)   Buffer: test.jove   "test.jove"   (13:50)          |
     |: apropos (keyword) window                                          |
     |____________________________________________________________________|

describe-key Bound to CTRL-X ? Expects a key, or key sequence, and returns the command bound to the key(s).
describe-command Bound to ESC ? Expects a command name and returns a description of the command in the current window. The next command you issue will clear the screen and return the text of your file to the screen.
describe-variable Unbound (use ESC x describe-variable variable_name). Returns a description of the variable in the current window. The next command you issue will clear the screen and return the text of your file to the screen.
print Unbound (use ESC x print variable_name). Returns the variable and its value. The variables are documented in the ``JOVE Manual for UNIX Users'' (U-003A$) and the file /usr/uva/lib/jove/cmds.doc.

To get a list of all commands and all variables, do the following:
  1. Type the command ESC x set send-typeout-to-buffer on.
  2. Type ESC x ? which will put a list of all commands into a new buffer in a new window.
  3. Type CTRL-G or press carriage return to put the cursor back in the buffer.
  4. Type CTRL-X n to move the point (cursor) to the new window.
  5. Type CTRL-X CTRL-W followed by a filename to write the list of commands to a file.
  6. Type CTRL-X d to delete the new window.
  7. Type ESC x set ? to put a list of all variables into a new buffer in a new window.
  8. Repeat steps 3-6 above to save the list of variables to a file and to delete the window. Now you have two files which you may want to print so that you will have a hard copy of all the com- mands and all the variables. More information on the commands and variables can be found in document U-003A and the file /usr/uva/lib/jove/cmds.doc.

From ITC

Call the ITC Help Desk (924-3731) for individual help, or send e- mail to consult@virginia.edu.

From Your Computer

At the Unix shell prompt (which is generally a $ if you are using the Korn shell (ksh) or select "Go to UNIX" from Umenu, issue the command man jove to read the on-line manual page about JOVE. Use the command manpage jove to get a printed copy of the man pages.

Use the command hints or select "Problems?" in Umenu to get Frequently Asked Questions about JOVE. After typing hints, select, in order:

       unix/
       editors/
       jove/
Another route to this information, is to cd to /help/unix/editors/jove.

The file /usr/uva/lib/jove/cmds.doc contains information about JOVE commands and variables. You can look at this file using either the more or page Unix commands. You can also use JOVE to look at the file by issuing the following command at the shell prompt.

jove /usr/uva/lib/jove/cmds.doc<CR>

End the editing session (as always) by typing CTRL-X CTRL-C. JOVE will not let you make any changes to this file (as it is read-only), but you can move around the file using JOVE cursor movement commands.

You can type the command teachjove at your shell prompt to get an on-line tutorial. Exit the tutorial at any time with CTRL-X CTRL-C. Because the tutorial is essentially a JOVE editing session on a file that describes JOVE, you can move around the file using the JOVE cursor movement commands. You also can use the JOVE search commands (such as the search-forward command [ESC s]) to find sections dealing with topics that you are interested in.

When you are finished taking the tutorial, there will be a file called teach-jove in your home directory. Delete this file by issuing the following command from your shell prompt.

rm teach-jove<CR>

If the system responds with``teach-jove:'' or ``rm: remove teach-jove?'' type y followed by a carriage return to indicate ``yes, delete the file teach-jove.''

Issue the command man teachjove at the shell prompt for information about the teachjove tutorial.

From Other Documents

The ``JOVE Manual for UNIX Users,'' document U-003A (available for purchase from Professor Publishing, University of Virginia Bookstore), contains complete information on all commands and functions.

SUMMARY

JOVE Commands

REMINDER: To enter a command that is unbound to a key sequence, type ESC x command.
CURSOR
CommandKey Binding
backward-characterCTRL-B
backward-listESC CTRL-P
backward-paragraphunbound
backward-s-expressionESC CTRL-B
backward-sentenceESC a
backward-up-listESC CTRL-U
backward-wordESC b
beginning-of-fileESC <
beginning-of-lineCTRL-A
beginning-of-windowESC ,
down-listESC CTRL-D
end-of-fileESC >
end-of-lineCTRL-E
end-of-windowESC .
exchange-point-and-markCTRL-X CTRL-X
first-non-blankESC m
forward-characterCTRL-F
forward-listESC CTRL-N
forward-paragraphESC ]
forward-s-expressionESC CTRL-F
forward-sentenceESC e
forward-wordESC f
goto-lineESC g
next-errorCTRL-X CTRL-N
next-lineCTRL-N
next-pageCTRL-V
next-windowCTRL-X n
page-next-windowESC CTRL-V
previous-errorCTRL-X CTRL-P
previous-lineCTRL-P or CTRL-P CTRL-P
previous-pageESC v
previous-windowCTRL-X p or CTRL-X o
scroll-downESC z
scroll-leftunbound
scroll-rightunbound
scroll-upCTRL-Z
set-markCTRL-@ or CTRL-SPACE

DELETE & KILL
CommandKey Binding
delete-blank-linesCTRL-X CTRL-O
delete-bufferCTRL-X CTRL-K
delete-current-windowCTRL-X d
delete-macrounbound
delete-next-characterCTRL-D
delete-other-windowsCTRL-X 1
delete-previous-character DELETE or BACKSPACE or CTRL-H
delete-white-spaceESC \
kill-next-wordESC d
kill-previous-wordESC-DELETE or ESC-BACKSPACE or ESC CTRL-H
kill-regionCTRL-W
kill-s-expressionESC CTRL-K
kill-some-buffersunbound
kill-to-beginning-of-sentenceCTRL-X CTRL-H (or DELETE or BACKSPACE)
kill-to-end-of-lineCTRL-K
kill-to-end-of-sentenceESC K

WINDOWS
CommandKey Binding
beginning-of-windowESC ,
delete-current-windowCTRL-X d
delete-other-windowsCTRL-X 1
end-of-windowESC .
goto-window-with-bufferunbound
grow-windowCTRL-X ^
next-windowCTRL-X n
number-lines-in-windowunbound
page-next-windowESC CTRL-V
previous-windowCTRL-X p or CTRL-X o
shrink-windowunbound
split-current-windowCTRL-X 2
visible-spaces-in-windowunbound
window-findCTRL-X 4

SEARCH & REPLACE
CommandKey Binding
i-search-forwardunbound
i-search-reverseCTRL-R
query-replace-stringESC q
replace-in-regionunbound
replace-stringESC CTRL-E
search-forwardESC s
search-forward-ndunbound
search-reverseESC r
search-reverse-ndunbound

HELP
CommandKey Binding
aproposESC h
buffer-positionunbound
describe-bindingsunbound
describe-commandESC ?
describe-keyCTRL-X ?
describe-variable variable-nameunbound
print variable-nameunbound
versionunbound

MARK, COPY, & RETRIEVE
CommandKey Binding
copy-regionESC w
exchange-point-and-markCTRL-X CTRL-X
pop-markunbound
set-markCTRL-@ or CTRL-SPACE
yankCTRL-Y
yank-popESC y

BUFFER & FILES
CommandKey Binding
buffer-positionunbound
delete-bufferCTRL-X k
erase-bufferunbound
find-fileCTRL-X CTRL-F
goto-window-with-bufferunbound
insert-fileCTRL-X CTRL-I
kill-some-buffersunbound
list-buffersCTRL-X CTRL-B
make-buffer-unmodifiedESC ~
rename-bufferunbound
select-bufferCTRL-X b
spell-bufferunbound
visit-fileCTRL-X CTRL-R or CTRL-X CTRL-V
window-findCTRL-X 4

WRITE, SAVE & END
CommandKey Binding
append-regionunbound
exit-joveCTRL-X CTRL-C
pause-joveESC p
save-fileCTRL-X s
suspend-joveunbound
write-fileCTRL-X CTRL-W
write-macros-to-fileunbound
write-modified-filesCTRL-X CTRL-M or CTRL-X RETURN
write-regionunbound
write-word-abbrev-fileunbound

TEXT
CommandKey Binding
case-character-capitalizeunbound
case-region-lowerCTRL-X CTRL-L
case-region-upperCTRL-X CTRL-U
case-word-capitalizeESC c
case-word-lowerESC l
case-word-upperESC u
character-to-octal-insertunbound
fill-paragraphESC j
fill-regionunbound
left-margin-hereunbound
newline RETURN or CTRL-M
newline-and-backupCTRL-O
newline-and-indentNEWLINE or LINEFEED or CTRL-J
quoted-insertCTRL-_ or CTRL-/ or CTRL-~ or CTRL-.
right-margin-hereunbound
string-lengthCTRL-X c
transpose-charactersCTRL-T
transpose-linesunbound

CHECKING AND CORRECTING SPELLING
CommandKey Binding
current-errorunbound
next-errorCTRL-X CTRL-N
parse-spelling-errors-in-bufferunbound
previous-errorCTRL-X CTRL-P
spell-bufferunbound

C & SYSTEM
CommandKey Binding
add-lisp-specialunbound
backward-s-expressionESC CTRL-B
cdunbound
compile-itCTRL-X CTRL-E
continue-processunbound
current-errorunbound
dateunbound
dirsunbound
dstop-processunbound
eof-processunbound
fill-commentunbound
filter-regionunbound
find-tagCTRL-X CTRL-T
find-tag-at-pointunbound
forward-s-expressionESC CTRL-F
grind-s-exprunbound
handle-tabCTRL-I
i-shell-commandunbound
interrupt-processunbound
kill-processunbound
kill-s-expressionESC CTRL-K
list-processesunbound
next-errorCTRL-X CTRL-N
paren-flashunbound
parse-errorsunbound
popdunbound
previous-errorCTRL-X CTRL-P
process-newline RETURN
process-send-data-no-returnunbound
push-shellunbound
pushdunbound
pwdunbound
quit-processunbound
shellunbound
shell-commandCTRL-X !
shell-command-no-bufferunbound
shell-command-to-bufferunbound
shell-command-with-typeoutunbound
stop-processunbound

PERSONALIZING JOVE
CommandKey Binding
auto-execute-commandunbound
auto-execute-macrounbound
begin-kbd-macroCTRL-X (
bind-macro-to-keyunbound
bind-macro-to-word-abbrevunbound
bind-to-keyunbound
define-global-word-abbrevunbound
define-macrounbound
define-mode-word-abbrevunbound
delete-macrounbound
edit-word-abbrevsunbound
end-kbd-macroCTRL-X )
execute-kbd-macroCTRL-X e
execute-macrounbound
make-macro-interactiveESC i
name-kbd-macrounbound
process-bind-to-keyunbound
quoted-insertCTRL-_ or CTRL-/ or CTRL-~ or CTRL-.
read-word-abbrev-fileunbound
setunbound
sourceunbound
start-rememberingunbound
stop-rememberingunbound
unbind-keyunbound
write-macros-to-fileunbound
write-word-abbrev-fileunbound

COMMAND & CANCEL
CommandKey Binding
abort-char (cancel command)CTRL-G
digitESC number
execute-named-commandESC x
gather-numeric-argumentCTRL-U
setunbound
shell-commandCTRL-X !
shell-command-to-bufferunbound

SCREEN
Command Key Binding
buffer-positionunbound
clear-and-redrawCTRL-L
number-lines-in-windowunbound
redraw-displayESC CTRL-L

JOVE VariablesDefault Value
abort-charCTRL-G
allow-^S-and-^Qoff
allow-bad-filenamesoff
auto-case-abbrevon
bad-filename-extensions.o
c-argument-indentation-1
c-indentation-increment8
case-ignore-searchoff
comment-format(see help)
dbx-format-string(see help)
disable-biffoff
display-bad-filenameson
error-format-string(see help)
error-window-size20
expand-environment-variablesoff
file-creation-mode0666
files-should-end-with-newlineon
internal-tabstop8
interrupt-characterCTRL-]
left-margin0
mail-check-frequency60
mailbox/usr/spool/mail/$USER
make-backup-fileson
mark-threshold22
marks-should-floaton
match regular-expressionsoff
meta-keyoff
mode-line(see help)
mode-line-should-standouton
no-mail-backup-filesoff
paren-flash-delay5
physical-tabstop8
process-prompt%
right-margin72
scroll-all-linesoff
scroll-step0
search-exit-charCTRL-M
send-typeout-to-bufferoff
shell/usr/local/bin/ksh
shell-flags-c
sync-frequency50
tag-file./tags
tmp-file-pathname/tmp
update-time-frequency30
use-i/d-charon
visible-belloff
wrap-searchoff
write-files-on-makeon

To specify a value for a variable, issue the command:

ESC x setvariable-name value

where value is off, on, or some other value as for the variable right-margin.

JOVE Modes

The table below lists the major and minor modes that may show on the mode line near the bottom of the screen.

Major Modes
JOVE ModesDefault Value
c-modeOff
fundamental-modeOff
lisp-modeOff
text-modeOn
Minor Modes
JOVE ModesDefault Value
auto-fill-modeiOff
auto-indent-modeOff
over-write-modeOff
read-only-mode(Depends on file's read/write access)
show-match-modeOff
word-abbrev-modeOff

Due to some of the commands in the system JOVE initialization file (/usr/uva/lib/jove/jove.rc), JOVE editing sessions on some files will start out in modes other than the default modes listed in the previous table. For example, JOVE sessions on files ending with the characters ``.c'' will start in c-mode. (JOVE sessions on files ending in ``.h'' or ``.y'' will also start in c-mode.) Generally, however, JOVE sessions will start with the default values listed in the table. For more infor- mation, see sections 14 and 15 of the ``JOVE Manual for Unix Users'' (U- 003A$). Look at the file /usr/uva/lib/jove/jove.rc to see which filename extensions cause JOVE to start in modes other than the default modes. Issue the man ed command if you need help with the regular expressions used in /usr/uva/lib/jove/jove.rc.


WE REALLY WANT TO KNOW...
Have you found this publication useful? Are there ways we might improve or supplement it or other ITC publications? Did you find this document in Web or in hard copy? We really want your opinion. Send e-mail to:  newsdesk@virginia.edu

© 2009 by the Rector and Visitors of the University of Virginia.

The information contained on the University of Virginia’s Department of Information Technology and Communication (ITC) website is provided as a public service with the understanding that ITC makes no representations or warranties, either expressed or implied, concerning the accuracy, completeness, reliability or suitability of the information, including warrantees of title, non-infringement of copyright or patent rights of others. These pages are expected to represent the University of Virginia community and the State of Virginia in a professional manner in accordance with the University of Virginia’s Computing Policies.