Contents
Help Contents for notGNU

Installing notGNU

Getting Started

Intermediate Users

Printing

Files and Customizing notGNU

History of notGNU


Installing notGNU

To install notGNU, all you need to do is copy the executable to a directory on your PC. Run it by creating an icon for it through program manager or select "Run" from the Program Manager's File pulldown. Other files  in the distribution are helpful, and some are used by notGNU, but they are not required.

For much more detail, or if youre familiar with GNU emacs, read the file notgnu.doc which is contained in this release.


Getting Started

notGNU is designed to match finger-feel with the popular Un*x editor GNU emacs; however notGNU should be easy to use for Windows users too. You can get more instruction on the following topics:

Apropos - remember this!

Mouse

Toolbar

Keyboard

Menubar

Mode Line


Using apropos
Apropos

Throughout this help file,  you'll see ''See apropos: <keyword>''.  This is a command in notGNU which helps you locate the command you need based on keywords.

For example,  to find all commands that deal with file, you would execute apropos and at the prompt type: file.  notGNU will display a buffer with all commands that have the word file in the command name. Inside this buffer, you can doubleclick (left mouse button) or place the cursor and hit <RETURN> on any line of the buffer and notGNU will display brief help on that command.

If you remember apropos then you'll find it easier to navigate and discover new commands without having to invoke the help file each time.

Note also that the menubar contains a choice under Help called describe-function.  This will cause notGNU to display a list box of every command, and allow you to get the brief help via the dialogbox list.  This dialog can be displayed at anytime; it isn't modal.


Simple mouse usage
Mouse

You can use the mouse to position the text cursor and you can select text by clicking down with the mouse button and dragging - just as in any Windows text window. You can click the right mouse button to display a user popup menu.  You may customize the popup to add/delete commands, or have it invoked via a different mouse button.

See apropos: popup


Toolbar

The toolbar provides easy access to the features you need for editing files. You'll notice as you pass the mouse pointer over a button and leave it there for a few seconds, the notGNU command will appear to give a hint what the button does.  The toolbar is user customizeable.

See apropos: toolbar


Keyboard

The keyboard works in the way you might expect. Typing alphanumeric keys enters text. Using the application keypad does the following:

Key	Action
Up/Down/Left/Right Arrow	moves through the text
Ctrl Up/Down Arrow	scrolls up/down one line
Ctrl Left/Right	move back/forward by on word
Insert	toggle between Insert and Overstrike mode
Delete	delete the current character
Home	move to the beginning of the line
End	move to the end of a line
Page Up/Page Down	scroll up/down by a window full of text
Ctrl PageUp/Ctrl Page Down	move to top/bottom of the buffer

In addition to the default key bindings, You can also bind any action to a key stroke.

See apropos: key


Menubar

To turn the menubar on and off

1.	Bring up the system menu - (click on the upper left corner in the titlebar)

2.	Select "Window Menu"

When the menu toggles on, you have the choice of selecting keyboard accelerators on the menubar. Be sure to select Save Settings to save menubar settings.


The mode line
Mode Line

At the bottom of the notGNU window pane you'll notice a line that contains useful status information.  It typically might look something like this:

-*---*scratch*    (1.7 BETA)               1,1 (*)------------------------------------------------------------^

-*--- denotes the buffer has modifications

*scratch*  is the buffer name,

(1.7 BETA) is the version of notGNU.

1,1 is the current row, column of the insert point

caret (^) indicates the position of the 80th column

A filename may be displayed in mode line.


Intermediate Users

Now that you're familiar, with the basics, you may be ready to access more of the commands available in notGNU.

The Command Region

Working with multiple buffers and files

Mouse Operations

Cut and Paste Text

Popup menu


The Command Region

Extended commands are invoked by pressing the Alt and x keys simultaneously on the keyboard. You'll notice at the bottom of the window a M-x prompting you for the command. The M stands for Meta key (which is the Alt key).   It is also possible to hit ESC followed by x to invoke extended commands.

(Note that if you have menubar accelerators on,  Esc-x or Alt-x will invoke the Execute pulldown and execute-extended-command is available on this menu).

For example, the command to open a file is M-x find-file. You'd hit Alt-x and then type find-file at the prompt and hit the Enter key. notGNU will prompt for the file name; type the name and press return.

Autocompletion

Simply press <Space> or <Tab> to complete a filename or a command when entering text in the command region. A window pane is displayed with possible completion choices which match the substring on what you've entered already.

Minibuffer (Echo line)

The following keystrokes perform single line editor-style features while you're entering commands:

Description	Key
Delete character to the left of cursor	Ctrl-H, Backspace
Delete character at cursor	Ctrl-D, Delete
Delete word to the left of cursor	Ctrl-W
Delete to start of line	Ctrl-U
Delete to end of line	Ctrl-K
Move cursor left	Ctrl-B, Left arrow
Move cursor right	Ctrl-F, Right arrow
Move to start of buffer	Ctrl-A, Home
Move to end of buffer	Ctrl-E, End


Multiple buffers
Working with multiple buffers and files

Windows resources are the only limitation to the number of files you can edit at one time; notGNU isn't bothered by segmentation limitations.  A line in a buffer cannot exceed 32k characters in the 16 bit version of notGNU; lines longer than 32k are truncated when they are read in.

Any number of files can be managed or edited at one time.

See apropos: buffer, window


Intermediate mousing
Mouse Operations

You can resize window panes with the mouse. notGNU supports drag and drop from the file manager; dropping inside a window pane inserts a file into an existing buffer. Dropping onto a modeline causes notGNU to read the dropped file into a new buffer. If you have the notGNU bufferlist dialog box displayed, you can drag into the dialog box and notGNU will open and read the dropped file into a new buffer.

See apropos: mouse


Cut and Paste
Cut and Paste Text (aka Kill and Yank)

notGNU has quick commands for cutting and pasting text. Emacs uses the term Kill to mean cut text and Yank to paste text. Some yank and kill operations affect the windows clipboard and some do not. Some of the commands operate on a selected region, which you must specify first.

See apropos: kill, yank, clipboard.


Search and Replace

Search and replace is normally case insensitive.  You set search/replace with case different combinations of case sensitivity in search and replace strings.

NOTE that notGNU provides integrated access to the GNU tool egrep available on many internet sites. egrep.exe (the 16 bit DOS version) is packaged with notGNU but not supported, or modified in anyway. The GNU Copyleft restrictions apply.

See apropos: search, replace, set-case


Popup menu

A popup menu is available and by default is bound to the right mouse button.  You can add and delete items from this menu.  You can also invoke the menu via the keyboard.

See apropos: popup.


Print options
Printing

notGNU can print a header that includes a page number and file or buffer name on each page. You can add line numbers on each printed line and choose to print using the current displayed font. The layout of the header can be left justified, centered, right justified or the name printed in the left corner and page number in the right corner.  You can print all of a buffer, or a selected region.


Files and Customizing
Files and Customizing notGNU

In addition to the customization you can do with colors, toolbar and the menubar, you can also customize notGNU using:

Environment variables

PIF settings

Startup file and Defining keys


Setting environment variables
Environment Variables

The following environment variables will be interpreted by notGNU, if present: MEHOME, MEMAKE, MESHELL, MEEXEC, MELOG.

MEHOME -The startup file, NOTGNU.ST,  is loaded from this directory. If not set, notGNU defaults to the directory containing the binary.

MEMAKE - contains the default command to suggest for compilation. Default: nmake.  This is generally fine; supported compilers include Microsoft and Borland compilers.

MESHELL  - contains the path to the command interpreter or shell.  Only useful if you have a third party shell such as 4dos, etc. Otherwise, don't define this.

MEEXEC contains a format string used for spawning background processes such as compilation in the Windows versions. Default formats are:

Windows NT    "%s /c %s 1>%s 2>&1"

Windows 3.x   "%s /c %s > %s"

Each %s is substituted with, in order of appearance:

The command interpreter to use (MESHELL)

The compile command given by the user in the minibuffer

The output log file name (MELOG)

If you are using 4dos or Ndos, you should insert into your 4start.btm/Nstart.btm or autoexec.bat:

set MESHELL=%COMSPEC%

set MEEXEC=`%s /c %s >& %s`

(This will redirect both stdout and stderr to the log file).


PIF settings

The following information on PIF files is important for Windows 3.1* users.  Users of Windows 95 or NT do not need to use these PIF files, nor make changes to the existing Windows PIFfiles.

MESHELL.PIF and COMMAND.PIF are sample Windows Program Information Files that notGNU uses, in the absence of a MESHELL environment variable, to execute shell-window and shell-command.  They are similar to _DEFAULT.PIF, but with increased background priority, execution in background enabled, exclusive execution enabled, and close window on exit.

It is important that you copy COMMAND.PIF to your Windows directory or the directory of COMMAND.COM if you want background tasks like 'compile' to actually RUN in the background under Windows 3.x. Failure to do so means that background jobs will run VERY VERY SLOWLY or not at all.  Also if your PIF file does not define "Close Window on Exit", then notGNU can not tell when the spawned task is complete.

If you have specified the MESHELL environment variable, MESHELL.PIF and COMMAND.PIF will not be used. Instead, execution parameters for BOTH shell-command and shell-window will be read from the PIF file that corresponds to the specification in this variable.  Suppose, for instance, that %MESHELL% points to C:\DOS\4DOS\4DOS.COM. You would then have to edit the file C:\DOS\4DOS\4DOS.PIF, so that the following are specified (Use the Windows PIF editor):

Advanced->Background priority	: 90 or more

Execution in background      	: Yes

Execution exclusive          	: Yes

Close window on exit         	: Yes

Also, make sure that NO start-up directory is specified; otherwise make/compile will not work properly.


Defining keys
Start-up file and Defining keys

When notGNU starts up, it reads customization commands from the file notgnu.st.  The syntax is similar to GNU emacs. The commands are enclosed in a pair of parentheses. Arguments should be preceded by the ' (apostrophe) character. For example, if you wanted the window size of notGNU to be 43 rows by 80 columns, you would put the following line in notgnu.st:

(set-window-size '43,80)

(toggle-show-line-number)  ; show the current line

Defining keys

You can bind commands to a key by using the global-set-key command in the startup file. For example,

(global-set-key "\^x!"    'shell-command)	; binds CTRL-X

(global-set-key "\efx"    'save-buffers-kill-emacs)	; binds Esc-F x

(global-set-key "\Insert" 'set-mark-command)	;binds Insert key

(global-set-key "\e\Backspace" 'backward-kill-word)	;binds Esc BackSp

See apropos: list-key-names


History of notGNU

notGNU - This is not the GNU emacs Editor. A text editor similar to GNU emacs but much smaller and lighter and the first one to get on the Windows platform. Any similarity to GNU emacs is purely intentional as imitation is generally the sincerest form of flattery.

notGNU should be regarded as copy-protected by me, Julie Melbin, as defined via this modified excerpt from the "Artistic License":

You may make and give away verbatim copies of the binary form of  notGNU and associated files without restriction, provided that you duplicate all of the original copyright notices and associated disclaimers. You may distribute notGNU as long as you don't charge for it, and before including with a sellable package, you are obliged to contact me.

THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

That said, please enjoy and find it useful; that's the overall goal. Donations graciously accepted.

Julie Melbin                     email: julie@world.std.com

P.O Box 1007

Groton MA 01450

USA

Acknowledgments

Without the support and assistance of the following folks, notGNU would not be where it is now.  Both through diligent nagging, and outright help in setting up network servers, writing documentation and bug tracking; these folks have been a indispensable aid.

Major thanks to Tor Slettnes, Dan Latham, Bernie Hayden, Kevin Furbish, Neil Matthew, Mike Kazar, Matt Bittner and all the other hard working contributors and beta testers. Thanks also to Henry Spencer for his regular expression (regex) code.