JETEDIT

Section: Misc. Reference Manual Pages (1X)
Index Return to Main Contents
 

NAME

jetedit --- a ``C'' programmer's point and click editor.  

SYNTAX

jetedit [filename]  

DESCRIPTION

Jetedit is intended to be a programmer's editor, but is usable for general purpose editing. It has a Mac like interface with the <Extend char> key replacing the Mac <command> key, and duplicates the common Mac editing commands. Other features it has:
*
Find and Replace
*
Goto line number
*
Tabbing in and out a block of text
*
Undo edits
*
Automatic C syntax sensitive indenting, which can be easily configured to suit the style you are used to.
 

OPTIONS

Jetedit recognizes all the normal X Windows options such as font and geometry. The only additional option it recognizes is a filename.  

HOW IT WORKS

The most important feature is that edits can be undone. This is hard coded to remember the previous 20 edits, using a circular buffer. Select Undo from the Edit menu or type <Ext>Z. Note that some editing functions, such as tabbing a block of text, are remembered as multiple edits, so you may need to undo multiple times to completely undo.

With the exception of undo, all the editing functions work just like a Mac. This includes the existence of a clipboard. Text cut or copied to the clipboard can not only be pasted between editors running on the same host, but because of X Windows can also be pasted to an editor running on a different host (the XmClipboard is used).

For non Mac users, a brief explanation:

*
Holding down the left mouse button and dragging the mouse will select a block of text. For large blocks of text, click the mouse at the beginning (or end) of the desired block of text, move to the other end of the text, and hold down <Shift> while clicking the mouse. The ends of the selected block can be altered by <Shift> clicking again or dragging the mouse while holding down the button.
*
Copy (from the Edit menu) will copy the selected block of text to a ``clipboard'' in memory. Note that the ``Ext+C'' next to ``Copy'' in the menu means that copying can also be done by holding down the <Ext> key and typing <C>. On some keyboards, <Ext> may be have some other label such as <Alt>.
*
Cut will copy the text to the clipboard, and then delete it from your document.
*
Clear (or the <Del> or <Backspace> key) will delete the text from the document without altering the clipboard.
*
Paste will insert a copy of the text from the clipboard to the current insertion point.
*
If a block of text is selected, and then you type a character or paste from the clipboard, the selected block is overwritten. The contents of the clipboard are not altered.

Another method available for copying text is to click the mouse at the point where you want the text to be inserted, to put the insertion point there. Then go to the the text to be copied and press the center mouse button while dragging the mouse. As you drag the mouse, the selected text will be underlined. When the mouse button is released, the selected text will be copied to the previously set insertion point. Holding down <CTRL> while dragging will result in the selected text being deleted after it is copied.

An entire block of text can be tabbed in or out by selecting the block with the mouse, then typing <Tab> or shift<Tab>.

Ext<Home> will take you to the beginning of the file. Shift<Home> will take you to the end of the file.

Selecting Open from the File menu will pop up a File Selection dialog box. The dialog allows traversal up and down through the directory structure using the mouse. Double clicking (clicking the left mouse button twice rapidly) on a directory name in the Files area will move you down into that directory. Double clicking on ``..'' will move you up one directory. Double clicking on a filename will open that file. Adding something like ``*.c'' in the File Filter window will cause the dialog to only display *.c files, for example.

A number of features intended for programmers are included, and can be easily varied to suit the format style you are used to. They are controlled by resources that can be set in your .Xdefaults file or with a dialog. Selecting Preferences from the Edit menu will pop up a dialog to allow you to set the preferences. Then clicking the Help button will pop up another dialog which will tell you exactly what resources to use for the selected preferences.

Three indenting modes are available. Smart indenting will indent a new line to the level of the previous line. Syntax sensitive indenting attempts to make intelligent decisions about indenting and outdenting according to the rules of C syntax, and according to a number of selectable preferences for indenting style. You can also choose no automatic indenting if desired.  

X DEFAULTS

The following resources can be put in your ~/.Xdefaults or usr/lib/X11/app-defaults/Jetedit file. Reasonable defaults are supplied if no resources are specified.
background
I find that an overall background of ``Gray90'' is much easier on the eyes than ``White''.
blinkRate
Motif 1.0 text widgets have problems with the blinking cursor. Setting this resource to ``0'' will stop the blinking and the problem.
find_case.set
Setting this to True will set the default for text searches to ignore text case.
fontList
It is best to select a fixed width font. Also, the Motif 1.0 text widget has problems with some fonts when dragging the mouse to select text. The default is ``Fixed''. Another good one if you have it is ``lutRS12''.
infoFile
Specifying a filename with a complete path will cause that file to be read into jetedit if no filename is specified on the command line. This might be useful for informing users globally of updates.
regular_exp.set
Setting this to True will set the default for text searches to use regular expressions.
start_at_top.set
Setting this to True will set the default for text searches to begin at the top of the file.
unselectColor
This determines the color used to indicate the unselected state of the brackets in the preferences dialogs. A good color is ``Gray70''. It defaults to ``White''.

The following resources are easiest to determine by selecting Preferences from the Edit menu and using the Help dialog to determine the correct values to use.

indent
Regular, smart, or C syntax sensitive indenting.
leadingTabs
A boolean determining whether to use spaces or tabs for leading tabs. Leading tabs are tabs which are typed before any non-whitespace on a line.
trailingTabs
All other tabs are trailing tabs.
spaces
Determines how many spaces to insert when a tab is typed if either leadingTabs or trailingTabs is False.
openBrace
Determines how to indent opening braces.
closeBrace
Determines how to indent closing braces.
indentCase
A boolean which determines whether to indent case statements from the level of the switch statement.
 

TRANSLATIONS

Jetedit defines the following translations for the main editing window.

<Key>Return:         NewLine()
Shift<Key>Home:      ToBottom()
Meta<Key>Home:       ToTop()
Shift<Key>Tab:       OutdentText()
<Key>Tab:            IndentText()
:<Key>braceright:    RightBrace()
:<Key>braceleft:     LeftBrace()
 

ACTION ROUTINES

Jetedit defines the following action routines.
NewLine()
When in smart or syntax indenting mode, determines the number of tabs or spaces to insert and inserts them.
ToBottom()
Moves the cursor to the bottom of the file.
ToTop()
Moves the cursor to the top of the file.
IndentText()
If a block of text is selected, indents each line in the block one tab stop. Else inserts one tab stop at current cursor position.
OutdentText()
If a block of text is selected, outdents each line in the block one tab stop. Else deletes one tab stop at current cursor position.
RightBrace()
Inserts a right brace, outdenting if appropriate for the selected editing style.
LeftBrace()
Inserts a left brace, outdenting if appropriate for the selected editing style.
CutItem()
Copies the selected block of text to the clipboard, then deletes it from the text window.
CopyItem()
Copies the selected block of text to the clipboard.
PasteItem()
Overwrites the selected block of text with the contents of the clipboard.
 

BUGS

The Motif 1.0 text widget has a number of minor bugs, most of which have been corrected in Motif 1.1.

Bugs which have been corrected in Motif 1.1:

*
The blinking cursor sometimes becomes erratic or disappears. This is best corrected by disabling blinking. See the X DEFAULTS section above.
*
I did not implement page up and down by clicking in the scroll bar paging area. Motif 1.1 has this support built in.
*
On some servers, when dragging the mouse to select a block of text, the first caracter you thought you were selecting gets missed. No, you aren't losing eye hand coordination.
*
Typing a menu accelerator while in one of the menu dialogs can cause fatal crashes. In over two years use with Motif 1.0, this is the only known fatal error, and is fixed in Motif1.1.

Bugs which exist in Motif 1.1:

*
When in wordwrap mode, editing becomes rather sluggish with files of even a few thousand bytes.

 

COPYRIGHTS

(c) Copyright 1993 by Duane Clark.

See the jetedit source file copyright.h for a full copyright notice.  

AUTHORS

Duane Clark --- duane@blacks.jpl.nasa.gov

Jim Campbell --- jec@milne.boeing.com --- contributed regular expression text searches.

David W. Sanderson --- dws@ssec.wisc.edu --- did significant work to improve the formatting of the man page.


 

Index

NAME
SYNTAX
DESCRIPTION
OPTIONS
HOW IT WORKS
X DEFAULTS
TRANSLATIONS
ACTION ROUTINES
BUGS
COPYRIGHTS
AUTHORS

This document was created by man2html, using the manual pages.
Time: 07:27:39 GMT, December 12, 2024