╔═══════════════════════════════════════════════════════╗
║ ║
║ E D I T O R Q U I C K R E F E R E N C E ║
║ ═════════════════════════════════════════════════ ║
╚═══════════════════════════════════════════════════════╝
┌────────────────────────────────────────┐
│ <shft> F1 = Toggle to regular window │
└────────────────────────────────────────┘
<ctrl> ▲ = scroll UP <ctrl> ▼ = scroll DOWN
F3 = goto line number ...
S u b j e c t s line number
═══════════════════ ───────────
I. Keystrokes . . . . . . . . . . . . . . . . . . . . . 105
A. keystrokes which display characters 133
regular characters 137
dingbats 165
diacriticals (accents) 208
other characters 248
line drawing characters 274
B. keystrokes which move the cursor or scroll text 316
keystokes which move the cursor 320
keystrokes which scroll lines 357
keystrokes which produce larger leaps 367
of the cursor
C. keystrokes involving the highlight 394
keystrokes which produce a highlight 411
keystrokes which move highlighted material 440
keystrokes which delete highlighted material 451
keystrokes which perform arithmetic operations 471
on highlight material
keystrokes which change the color attributes 491
of highlighted material
using the highlight to draw boxes and lines 543
D. keystrokes for inserting, deleting and clearing 604
the insert key 608
the delete key 663
keystrokes for clearing 719
E. keystrokes for formatting text 734
keystrokes for setting margins 744
keystrokes for formatting 783
F. keystrokes for setting and using tabs 815
G. keystrokes for loading and storing files 850
H. keystrokes for changing windows 936
I. the function keys 963
II. The data buffers . . . . . . . . . . . . . . . . . . 1083
A. the box buffer 1095
B. the line buffer 1141
C. the stream buffer 1215
III. The environment . . . . . . . . . . . . . . . . . . 1233
A. parameters of the environment 1237
B. saving the state of the environment 1325
C. exiting Dmuse 1445
IV. Printing text from a window . . . . . . . . . . . . . 1465
A. printer setup 1475
B. printer parameters 1490
C. the PrintScreen key 1518
V. Loading and storing files . . . . . . . . . . . . . 1536
A. Loading a file to a window 1541
B. Storing the contents of a window to a file 1607
──────────────────────────────────────────────────────────────────
┌─────────────────────────┐
│ K E Y S T R O K E S │
└─────────────────────────┘
The Dmuse Editor is a command based, text oriented user
interface controlled by keystokes from the keyboard. A
keystroke is defined as the pressing of some "action key"
while holding down some combination of the "modifier keys"
(shft, ctrl and alt). Keystrokes may be divided into two
types: those which result in a character being written to
the screen, and those which control the editor. Some
keystokes such as "t", "a", and "s", which normally write a
character, will instead do something to the environment, if
a portion of the screen is highlighted with a box. These
exceptions are not discussed in this section.
The Dmuse Editor uses most of the IBM PC compatable
characters. Some of the math charcters have been redefined
in order to complete the set of vowels with diacritical marks
(accents, etc.) and to represent other European letters. For
example, there is no way to get an Ê or an Ø with the IBM
set. Also a few of the dingbats (charcters between 1 and 31)
have been redefined. The Dmuse printer driver has been
written to accommodate most of these re-definitions, so your
hardcopy printout will usually match what you see on the
screen.
┌─────────────────────────────────────┐
│ Keystrokes which display characters │
└─────────────────────────────────────┘
1. Regular keyboard characters (Total = 95 characters)
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ ` │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │
└───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┐
│ q │ w │ e │ r │ t │ y │ u │ i │ o │ p │ [ │ ] │ \ │
└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┘
│ a │ s │ d │ f │ g │ h │ j │ k │ l │ ; │ ' │
└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘
│ z │ x │ c │ v │ b │ n │ m │ , │ . │ / │
└───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┘
│ S P A C E │
└───────────────────────────┘
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │
└───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┐
│ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ { │ } │ | │
└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┘
│ A │ S │ D │ F │ G │ H │ J │ K │ L │ : │ " │
┌────┐ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘
│Shft│ │ Z │ X │ C │ V │ B │ N │ M │ < │ > │ ? │
└────┘ └───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┘
│ S P A C E │
└───────────────────────────┘
2. Dingbats (Total = 26 characters)
Holding down the shft and ctrl modifiers, the following
keystrokes will yeild the corresponding dingbats.
stroke: z x c v b n m a s d f g h j k l q w e r t y u i o p
dingbat: ⌂ ↑ ♮ ╱ ♭ ← → ♯ ▁ ♦ ⎝ ⎞ ⎠ ▼ © ◄ ╲ ⎛ √ ¶ ↓ § ▲ ☼ ►
┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐
│ │ │ │ │ │ │ │ │ │ │ │ │ │
└───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┐
│q ◄│w ╲│e ⎛│r √│t ¶│y ↓│u §│i ▲│o ☼│p ►│ │ │ │
└─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┘
│a ♯│s ▁│d ♦│f ⎝│g ⎞│h ⎠│j ▼│k ©│l │ │ │
┌────┐ └─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┘
│Shft│ │z ⌂│x ↑│c ♮│v ╱│b ♭│n ←│m →│ │ │ │
├────┤ └───┴─┬─┴───┴───┴───┴───┴───┴───┴─┬─┴───┘
│Ctrl│ │ │
└────┘ └───────────────────────────┘
◄ = q ← = n ⎛ = e ╲ = w ♯ = a ⌂ = z
▲ = i ↑ = x ⎝ = f ╱ = v ♭ = b © = k
► = p → = m ⎞ = g √ = r ♮ = c ¶ = t
▼ = j ↓ = y ⎠ = h ▁ = s ♦ = d § = u
☼ = o
<shft><ctrl>L will access the glyph.
The printer will not print ⎛ ⎝ ⎞ ⎠ ╱ ╲ √ ▁ ♯ ♭ and ♮.
The digbats ⎛ ⎝ ⎞ ⎠ ╱ ╲ √ and ▁ were designed for displaying
advanced mathematical notation. Examples:
▁▁▁▁▁▁▁▁▁▁▁▁▁ oo
▁ ╱⎛ 2 ⎞ ⎛ 1
⎛ - b +/- ╲╱⎝(b) - 4ac⎠ ⎞ y = │ ⎛ ▁▁▁▁▁▁▁▁ ⎞ dx
x = │ ▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁ │ ⎠ ⎝ ▁▁▁▁▁▁▁ ⎠
⎝ 2a ⎠ 0 √ 1 - x
3. Characters with diacritical marks and other modifications
(Total = 59 characters)
There are two ways to put a diacritical mark over a letter:
(1) Directly after typing the letter, you can type <alt>(#)
where (#) is a digit from 1 to 9.
(2) Any time after typing the letter, you can position the
cursor under the letter and type <alt>(#) where (#) is
a digit from 1 to 9.
The chart below shows the conbinations of letters and numbers
which produce alterations to letters, and what that alteration
is. Note that <alt>6 always returns a letter to its unaltered
state.
Letters
Command Aa Cc Ee Ii Nn Oo Rr Ss Uu Yy
┌────┬────┬────┬────┬────┬────┬────┬────┬────┬────┐
<alt> 1 │ │ │ │ │ Ññ │ Õõ │ │ │ │ │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 2 │ │ Çç │ │ │ │ Øø │ │ ß │ │ │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 3 │ Ää │ │ Ëë │ Ïï │ │ Öö │ │ │ Üü │ Ÿÿ │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 4 │ Åå │ │ │ │ │ │ │ │ │ │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 5 │ │ │ │ │ │ │ Řř │ Šš │ │ │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 6 │ Aa │ Cc │ Ee │ Ii │ Nn │ Oo │ Rr │ Ss │ Uu │ Yy │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 7 │ Áá │ │ éé │ Íí │ │ Óó │ │ │ Úú │ Ýy │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 8 │ Àà │ │ Èè │ Ìì │ │ Òò │ │ │ Ùù │ │
├────┼────┼────┼────┼────┼────┼────┼────┼────┼────┤
<alt> 9 │ Ââ │ │ Êê │ Îî │ │ Ôô │ │ │ Ûû │ │
└────┴────┴────┴────┴────┴────┴────┴────┴────┴────┘
4. Other characters (Total = 30 characters)
Combination Result Combination Result
─────────── ────── ─────────── ──────
<shft-alt> ! ¡ <alt> , ▌
<shft-alt> @ ¥ <alt> . ▐
<shft-alt> # £ <alt> l ▀
<shft-alt> $ ¢ <alt> ; ▄
<shft-alt> % ƒ florin <alt> o ░
<shft-alt> ^ ° degree <alt> p ▒
<shft-alt> & ½ 1/4 <alt> [ ▓
<shft-alt> * ¼ 1/2 <alt> ] █
<shft-alt> ( • <alt> - ¬ logical not
<shft-alt> ) ┊ Tab <alt> = ⌐ illogical
<shft-alt> _ (line feed)
<shft-alt> + ±
<shft-alt> < «
<shft-alt> > »
<shft-alt> ? ¿
<shft-alt> i æ ae
<shft-alt> o Æ AE
<shft-alt> p ₧ Pt
<shft-alt> [ ◾ square mark
<shft-alt> ] · centered period
5. Line drawing characters (Total = 40 characters)
Dmuse provides an easy way to draw lines and boxes using
the box highlight. None the less, It is useful to know
that any line drawing character can be accessed from the
keyboard using <alt>(letter) or <shft-alt>(letter)
combinations. There is a pattern in the way the line
drawing characters are assigned to the keys.
<alt>(letter) <alt>(letter)
Keyboard Characters Keyboard Characters
────────── ────────── ────────── ──────────
q w e r ┌ ┬ ┐ ─ t y u i ╔ ╦ ╗ ═
a s d f ├ ┼ ┤ │ g h j k ╠ ╬ ╣ ║
z x c └ ┴ ┘ b n m ╚ ╩ ╝
<shft-alt>(letter) <shft-alt>(letter)
Keyboard Characters Keyboard Characters
────────── ────────── ────────── ──────────
Q W E ╓ ╥ ╖ T Y U ╒ ╤ ╕
A S D ╟ ╫ ╫ G H J ╞ ╪ ╡
Z X C ╙ ╨ ╜ B N M ╘ ╧ ╛
q w e ┌┬┐ t y u ╔╦╗
<alt> a s d = ├┼┤ <alt> g h j = ╠╬╣
z x c └┴┘ b n m ╚╩╝
q w e ╓╥╖ t y u ╒╤╕
<shft-alt> a s d = ╟╫╢ <shft-alt> g h j = ╞╪╡
z x c ╙╨╜ b n m ╘╧╛
┌─────────────────────────────────────────────────┐
│ Keystrokes which move the cursor or scroll text │
└─────────────────────────────────────────────────┘
1. Keystokes which move the cursor
▲ ▼ ◄ ► = move the cursor up or down, left or right.
<alt> ◄ = move the cursor backward one word.
<alt> ► = move the cursor forward one word.
Enter = move the cursor to the left margin on
the next line.
<alt> Enter = move the cursor to the first character on the
current line and then down one line.
Some lesser-used commands:
<shft> Enter puts a carrage return ( ) character at the
end of the line the cursor is on and moves the cursor
to column 1 on the next line.
BackSpace moves the cursor one position to the
left and puts a space character there.
<sfht> BackSpace will move the cursor to the left
margin on the current line. <ctrl> Home will
do the same thing.
<shft> Home will move the cursor to column 1 of
the screen on the current line.
<shft> End will move the cursor to the end of the
current line.
<ctrl> End will move the cursor to the last
character on the line inside the right margin.
2. Keystrokes which scroll lines
<ctrl>▲ <ctrl>▼ <ctrl>◄ <ctrl>► = scroll up or down,
left or right.
PageUp = scroll text DOWN a full screen size.
PageDown = scroll text UP a full screen size.
3. Keystrokes which produce larger leaps of the cursor
Home = jump to the top of the window.
End = jump to the line below the last line of text
in the window.
F3 = jump to a specified line in the window.
KeyPad / = jump to the next occurance of a specified string
of characters in a window. A dialog box will
appear asking you to type the characters of
the search string (including space characters)
that you want to search for. Either the cursor
will move to the next occurance of the specified
string, or a message box will inform you that
the no such string was found going forward.
F11 = search forward for the next occurance for the
string last specified by the KeyPad / command.
F12 = search backward for the next occurance for the
string last specified by the KeyPad / command.
┌────────────────────────────────────┐
│ Keystrokes involving the highlight │
└────────────────────────────────────┘
There are times when you will want to perform operations on
a certain area or section of a window. The Dmuse editor has
a set of keystrokes which allow you to specify such an area. The
selected area will appear in highlight (either white or purple).
The highlight will disappear once the operation is complete.
There are three ways to highlight material in a window:
(1) the box highlight (white), (2) the stream highlight (white),
and (3) the line highlight (purple). The box and line highlights
work only when wordwrap is off; the stream highlight works only
when wordwrap is on. The stream highlight will not be discussed
in this document.
1. Keystrokes which produce a highlight
If there is no highlight present, there are three strokes
which can initiate a highlight.
<shft> ◄ <shft> ► = start a box highlight (white)
<shft> ▼ = start a line highlight (purple)
Once a box highlight has been intiated, the following strokes
will change its size.
<shft> ▲ <shft> ▼ = move the highlight cursor up or down
one line.
<shft> ◄ <shft> ► = move the highlight cursor left or right
one column.
Once a line highlight has been intiated, the following strokes
will change its size.
<shft> ▲ <shft> ▼ = move the highlight cursor up or down
one line.
<shft> PageUp = move the highlight cursor up 24 lines.
<shft> PageDown = move the highlight cursor down 24 lines.
2. Keystrokes which move highlighted material (box highlight only)
To move highlighted material on the screen, hold down
the ctrl and shft keys and use the cursor arrow keys to
move the highlighted material around. Once this process
has been started, typing any other key will deposit the
highlighted material in its present (new) location. You
need to be aware that the deposited material will write
over anything which was "under" it at the time of deposit.
3. Keystrokes which delete highlighted material
If material is highlighted with the box highlight (white),
Delete = remove the highlighted material from the
window. Move material on the right over
to fill the empty space.
<ctrl> Delete = perform the delete operation described
above and also place the deleted material in
the "box buffer" (for possible future "pasting"
in some other location)
If material is highlighted with the line highlight (purple),
Delete = delete the highlighted lines from the window
Add these lines to the "line buffer" (also
called the line refuse heap).
4. Keystrokes which perform arithmetic operations
on highlight material
If you have highlighted a column of numbers, you can
type the letter t to get a total. If you have highlighted
two, side-by-side columns of numbers, you can type the
letter a (a for add) to get a third column, which is the
sum of the elements of columns 1 and 2. If you type the
letter s (s for subtract), you will get a third column,
which is the difference of the elements of columns 1 and 2.
If your highlight box extends far enough to the right of
column 2 to leave sufficent room for column 3 (the result
column), the numbers in column 3 will be right justified.
If your highlighted numbers contain commas, the answers
will have commas (where appropriate). If your highlighted
numbers have money signs ($, £, ¥, DM), the answers will
have money signs. If you mix your money signs, the
arithmetic operation will not take place.
5. Keystrokes which change the color attributes of
highlighted material (box highlight only)
The following function keystrokes will change the
character attributes (color combinations) for the characters
in a highlighted box:
F5 = White on Black
F6 = Black on Red
F7 = Red on Black
F8 = Black on Brick
<ctrl> F5 = Green on Black
<ctrl> F6 = Black on Green
<ctrl> F7 = White on Forest Green
<ctrl> F8 = Black on Purple
<shft> F5 = White on Tan
<shft> F6 = Black on Orange
<shft> F7 = Black on Goldenrod
<shft> F8 = Black on Pink
<ctrl-shft> F5 = White on Blue
<ctrl-shft> F6 = Black on Turquise
<ctrl-shft> F7 = White on Purple
<ctrl-shft> F8 = White on Sea Green
(The colors shown are defaults; they can be changed by the
user. See INIT file under Advanced Topics)
In addition to being distinctive on the screen, some of
these color combinations have a meaning as font designators
for purposes of printing hardcopy.
F5 = regular upright font
F6 = bold upright font
F7 = regular italic font
<shft> F5 = underlined regular upright font
<shft> F6 = underlined bold upright font
<shft> F7 = underlined regular italic font
When writing a window to a file, the Dmuse editor
converts the various character attribute transitions to
escape codes. This way, when you reload a file, the
attributes are preserved. The Dmuse printer driver knows
how to convert character attributes (colors) to the
various fonts listed above.
6. Using the highlight to draw boxes and lines
The box highlight can be used to draw line patterns.
The line drawing characters are directly accessable from
the keyboard, but using them directly to draw anything but
the most simple patterns can be tedious and time consuming.
It turns out that most of the patterns people want to make
with the line drawing characters can be built up from a
series of boxes and/or lines. You can draw a box pattern
by highlighting the box shape you want and typing either a
minus sign (-) for a single line box or an equal sign (=)
for a double line box. The pattern below was made by
highlighting the box shape on the left and typing "-", and
then highlighting the shape on the right and typing "=".
Typing a tilda "~" after highlighting a box will erase
any line drawing characters around the edge of the box.
┌──────────────────┐
│ │
│ ╔════╪═══════════════╗
│ ║ │ ║
│ ║ │ ║
└─────────────╫────┘ ║
║ ║
╚════════════════════╝
Notice that the program chose the correct intersection
characters, ╫ and ╪, where the lines of the two boxes
crossed each other. Single horizontal or vertical lines
may be drawn by highlighting long, narrow boxes and typing
either "-" or "=". The pattern below was made by first
highlighting the large box and typing "=", and then
highlighting each of the interior lines and typing "-".
╔═════╤═══════════════════════╗
║ │ ║
╟─────┼───────────────────────╢
║ │ ║
║ │ ║
║ │ ║
╚═════╧═══════════════════════╝
Notice again that the program has chosen the correct
intersection characters. The order in which boxes are
drawn does make a difference in some cases. The best
way for the user to become familiar with this pattern
drawing feature is to experiment with it. There two
more things that can be said here. (1) If you highlight
a box and type the tilda character (~), any line drawing
characters along the edge of the box will be replaced
with the space character (i.e., be erased). (2) The
highlight method of drawing boxes and lines will never
overwrite text. In the example below, the text was
typed first, and then the box was drawn.
┌──This─is─a─box──┐
│ │
└─────────────────┘
┌─────────────────────────────────────────────────┐
│ keystrokes for inserting, deleting and clearing │
└─────────────────────────────────────────────────┘
1. The insert key
Insert
Typing the Insert key when nothing is highlighted will
simply toggle the insert mode. When insert mode is on, any
material added to the screen at the point of the cursor,
either by typing or by inserting from the box buffer, will
cause material which is already there to move to the right and
make space for the added material. When insert mode is off,
material added to the screen by typing or by inserting from
the box buffer will overstrike whatever was there before.
When insert mode is on, a plus (+) sign will appear in the
title bar at the top of the window.
<shft> Insert
Typing <shft> Insert when nothing is highlighted will
retrieve material in the box buffer. Material will appear
at the position of the cursor. Whether this material
displaces to the right or overstrikes the material that was
there before depends on the state of the insert mode
(see paragraph above).
<ctrl> Insert
If material is highlighted with the box highlight (white),
typing <ctrl> Insert will load that material into the box
buffer. Material formerly in the box buffer will be over
written. The contents of the window will remain unchanged.
<alt> Insert
Typing <alt> Insert will insert a blank line above the
line the cursor is on.
Insert (again)
If lines are highlighted (purple), pressing the Insert
key will copy them to the line buffer. Lines put into the
line buffer as a group can be taken out of the buffer as a
group, provided no new lines are added in the interum.
<shft-alt> Insert <ctrl-shft> Insert
You may retrieve lines from the line buffer by typing
<shft-alt> Insert or <ctrl-shft> Insert . <shft-alt> Insert
will retrieve and remove the last group of lines added to
the line buffer place them above the line the cursor is on.
<ctrl-shft> Insert will retrieve but not remove the last
group of lines added to the line buffer and place them above
the line the cursor is on. <ctrl-shft> Insert allows you
to make multiple copies from the line buffer.
2. The delete key
Delete
Typing the Delete key when nothing is highlighted
will simply delete the character (or space) above the
cursor. All characters to the right of the cursor move
one space to the left to fill the space left by the
deleted character.
If material is highlighted with the box highlight
(white), Delete will delete the highlighted material
from the window. Material to the right will move over to
fill the empty space.
If material is highlighted with the line highlight
(purple), Delete will delete the highlighted lines and
add them to the line buffer.
<shft> Delete
Does nothing.
<ctrl> Delete
If material is highlighted with the box highlight (white),
typing <ctrl> Delete will delete the highlighted material
from the window and also place the deleted material in the
"box buffer" (for possible future "pasting" in some other
location). Material formerly in the box buffer will be over
written.
<alt> Delete
Typing <alt> Delete will delete the line the cursor is
on and place it in the line buffer (also called the line
refuse heap). Lines deleted with <alt> Delete are never
really lost; they accumulate in the line buffer over the
entire time that Dmuse is running. A new Dmuse session
will start with an empty line buffer.
<shft-alt> Delete
Typing <shft-alt> Delete will put the line the cursor
is on in the line buffer without deleting it. Typing
<shft-alt> ▼ will also do this and will also scroll the text
up one line. This way, if you want to put several contiguous
lines into the attic, you simply hold down <shft-alt> ▼ and
and watch the lines scroll past the cursor until you have
all the lines you want.
3. Keystrokes for clearing
Keypad - = clear the line the cursor is on from the column
the cursor is in to the end of the line.
<shft> Keypad - = Keypad - plus clear all lines below the
line the cursor is on. To clear the
entire window, you must first push
the Home key to move the cursor to
the top of the window and then push
<shft> Keypad -.
┌────────────────────────────────┐
│ keystrokes for formatting text │
└────────────────────────────────┘
The most powerful commands for text formatting operate when
wordwrap is on (This advanced feature is discussed in the
Advanced Topics help section). Nevertheless, there are some
formatting commands designed to work with wordwrap off.
1. Keystrokes for setting margins
The Dmuse editor maintains right and left margins in
every window, irrespective of whether wordwrap is on or off.
At startup, the left margin is set to the left of column 1,
and the right margin is set at column 76. You may see where
the margins and tabs are set by typing the F10 key (this
key toggles the display panel).
The left margin is moved left or right by holding down
the left <shft-alt> keys and typing the ◄ or ► cursor
keys. The right margin is moved in the same manner, except
you hold down the right <shft-alt> keys and type the ◄ or
► cursor keys. Both margins can be moved together left or
right by holding down the <ctrl-shft) keys and typing the
◄ or ► cursor keys.
Normally the margin setting commands operate over the
span of the paragraph the cursor is in. Occasionally you may
want to reset the margin for an arbitrary number of lines,
which might or might not span one or more paragraphs. In
this case, the easiest method is to highlight a long, thin
box which spans the lines over which you want to change the
margin. You then use the change margin commands as
described above.
With wordwrap off, the position of the right margin does
not play a major roll in what you do (or what you type). The
position of the left margin does make some difference. Some
commands which are dependent on the position of the left
margin are listed below.
Enter move cursor to the left margin
and down one line
<ctrl> Home move cursor to the left margin
<shft> BackSpace move cursor to the left margin
2. Keystrokes which format text (wordwrap = off)
When wordwrap is off, moving the margins will not reformat
the text. In this situation, there are only three commands
which will automatically move text on the screen. These are
<ctrl> s, <ctrl> p, and <ctrl> Enter .
<ctrl> Enter split line at cursor and put the right-hand
part at the left margin of a new line
inserted below the current line
<ctrl> s reformat the part of the current paragraph
which lies within the boundaries of the left
and right margins into separate sentences
beginning at the left margin and wordwrapping
at the right margin (even though wordwrap is
off).
<ctrl> p reformat a group of sentences lying within the
the boundaries of the left and right margins
into a paragraph lying within the same
boundaries.
The definition of a paragraph for purposes of the <ctrl> s
and <ctrl> p commands is a set of lines of text beginning
at the left margin. The first line of the paragraph may
be indented from the left margin. A paragraph ends when
there is a line with a space character at the left margin.
┌───────────────────────────────────────┐
│ keystrokes for setting and using tabs │
└───────────────────────────────────────┘
Tab = move the cursor forward to the next tab on
the line or to column 1 of the next line.
(left)<shft> Tab = move the cursor backward to the nearest tab
on the line or to column 1 of the current
line or, if the cursor is in column 1, to
the last tab position on the previous line.
<ctrl> Tab = set (or remove) a tab marker at the column
the cursor is in.
(left)<ctrl-shft> Tab = clear all tabs.
(right)<shft> Tab works like Tab , but it puts typing in "backup"
mode. While in backup mode, the cursor does not
advance; instead, characters move to the left to
make space for the character just typed. The
editor continues in backup mode until a period (.)
or some non-character key is typed. Backup mode
is designed for typing columns of numbers with
decimal points.
(right)<ctrl-shft> Tab works the same way, except the Tab in done
in the backward direction (Tab right).
F10 toggles the margin and tab display panel.
┌──────────────────────────────────────────┐
│ keystrokes for loading and storing files │
└──────────────────────────────────────────┘
KeyPad + = load a file into the current window. This
command will cause a dialog box to appear,
with a prompt for the name of the file to be
loaded to the window. The file will be loaded
starting at the line the cursor is on. If
you want the contents of the window to match
the contents of the file, you must move the
cursor to the top of the window (by pressing
the Home key) before loading a file.
If you would like to see the contents of a
file in Hexidecimal format, type "$ <Enter>"
at the prompt. You will then be prompted
again for the name of the file, and the
Hexidecimal representation of the file
(up to 400,000 bytes) will appear in the
current window. Because you probably would
not want these contents put back in the
source file, the read-protect flag for the
window is set (the word Window in the top
Red line turns blue). The <ctrl>F10 key
gives you the option of toggling this flag.
Clearing the Window will also clear the flag.
There is another way to load a file into the
current window. If you are using the
resident file manager ( F4 ), and you type
a number which references a file in the
listing of the current directory, the file
manager will load that file into the current
window.
<shft> KeyPad + = store the contents of the current window
in a file. This command will cause a dialog box
to appear, with a prompt for the name of the
destination file. The entire contents of the
window will be stored in the file. Since it is
often the case that you are using the editor
to make changes to a pre-existing file (i.e.,
you loaded a file, made changes, and now want
to store the result back in the original file),
the Dmuse editor provides you an easy way to
do this. You simply type $ <Enter> at the prompt.
<ctrl-shft> KeyPad * = toggle the "exempt CR" flag.
Explanation: Microsoft Windows and Linux have
slightly different conventions for representing
the end of a text line in an ASCII "flat file."
Microsoft uses the character combination carriage-
return + line-feed (byte values 13 and 10); Linux
and UNIX use only the line-feed byte (byte value 10).
The user can expect to encounter both formats.
Since Microsoft formatted files probably outnumber
Linux formatted files, and since all Musedata amd
Score files use the Microsoftformat, this is the
default. However, it is possible for Dmuse to make
an educated guess about the format for each file
loaded into a window. If Dmuse thinks it is loading
a file in the Linux format, the "exempt CR" flag
is set in the top Red bar of the window. It looks
like this in the bar:
connect mode ─┐
exempt CR ─┐ │
↓ ↓
+▒[*] 1446.065
↑ ↑ ↑
insert mode ─┘ │ └─ row number
└─ line number
If the exempt CR flag is set and the contents
of the window are stored in a file, Dmuse will
leave off the CR at the end of each line and
use only the single byte (10) to denote the
end-of-line. <ctrl-shft> KeyPad * allows the
user to toggle this flag and therefore to
control the format of files stored from windows.
┌─────────────────────────────────┐
│ keystrokes for changing windows │
└─────────────────────────────────┘
The Dmuse editor consists of 30 independent super-imposed
work windows numbered 0 through 29, and one HELP window.
Windows 0 through 9 may be accessed by pressing the KeyPad numbers
KeyPad 0 to KeyPad 9. Windows 10 through 19 may be accessed by
holding down the <ctrl> key and pressing KeyPad 0 to KeyPad 9.
Windows 20 through 29 may be accessed by holding down the <alt>
key and pressing KeyPad 0 to KeyPad 9. The number lock must be
OFF for these commands to work.
KeyPad . acts as a toggle switch between the window you are
currently in and the window you were previously in. This key
is especially useful when you want to make a quick comparison
between two windows whose contents are nearly the same.
The HELP window can be loaded only by pressing F2 , moving
the highlight to the Help tab on the top menu bar, then
choosing one of the help subjects. (Presumably, you did this
to see this very document.) Thereafter, you may use the
<shft> F1 key to toggle between the HELP window and whatever
work window you are currently using.
┌───────────────────┐
│ the function keys │
└───────────────────┘
1. Function Key 1 (F1)
F1 = elementry help
<shft> F1 = toggle between the current window and the HELP
window. The HELP window is loaded by pushing
F2 and then selecting one of the subjects
under help.
<ctrl> F1 = explain the editor keystrokes.
2. Function Key 2 (F2)
F2 = activate top panel.
<shft> F2 = Save the current state of Dmuse in a default
file and EXIT Dmuse.
<ctrl> F2 = Save the current state of Dmuse in a file
which you specify and EXIT Dmuse.
<ctrl-shft> F2 = EXIT Dmuse without saving the current state.
3. Function Key 3 (F3)
F3 = move the cursor to a specified line number.
<ctrl> F3 = check window data structure. The Dmuse screen
editor uses a virtual memory management system
for storing the contents of the windows. On
rare occasions, the data structure for a window
becomes corrupted. If you suspect this has
happened, push <ctrl> F3. This command will
check the data structure, and if it is corrupted,
try to rebuild it. After you have done this,
it is a good idea to save any files you are
working on and exit Dmuse using the <ctrl-alt> F2
command. The problem will be gone when you
restart the program.
4. Function Key 4 (F4)
F4 = activate the resident file manager.
5. Function Keys 5-8. (F5,F5,F7,F8)
The following function keystrokes will change the character
attributes (color combinations) for typed characters in the
current window. (The colors shown are defaults; they can be
changed by the user. See INIT file under Advanced Topics)
F5 = White on Black
F6 = Black on Red
F7 = Red on Black
F8 = Black on Brick
<ctrl> F5 = Green on Black
<ctrl> F6 = Black on Green
<ctrl> F7 = White on Forest Green
<ctrl> F8 = Black on Purple
<shft> F5 = White on Tan
<shft> F6 = Black on Orange
<shft> F7 = Black on Goldenrod
<shft> F8 = Black on Pink
<ctrl-shft> F5 = White on Blue
<ctrl-shft> F6 = Black on Turquise
<ctrl-shft> F7 = White on Purple
<ctrl-shft> F8 = White on Sea Green
6. Function Key 9 (F9)
F9 = change global parameters.
7. Function Key 10 (F10)
F10 = turn the margin and tabs display panel on and off.
<ctrl> F10 = change display parameters for this window.
8. Function Key 11 (F11)
F11 = search forward (to the left and then down) in the
current window for the next occurance of the
search string (see the section on keystrokes
which produce large leaps of the cursor).
9. Function Key 12 (F12)
F12 = search backward (to the right and then up) in the
current window for the previous occurance of the
search string (see the section on keystrokes
which produce large leaps of the cursor).
<shft> F12 = Save the current state of Dmuse in a default
file. Do not exit.
<ctrl> F12 = Save the current state of Dmuse in a file which
you specify. Do not exit.
──────────────────────────────────────────────────────────────────
┌───────────────────────────────────────┐
│ T H E D A T A B U F F E R S │
└───────────────────────────────────────┘
The Dmuse editor maintains three separate data buffers to
aid in the storage and transfer of text within a window and
between windows: the box buffer, the line buffer, and the
stream buffer. The box buffer is operational only when wordwrap
is off; the stream buffer is operational only when wordwrap is
on. The line buffer is operational all of the time.
┌────────────────┐
│ the box buffer │
└────────────────┘
The box buffer stores text data in a rectangular format, i.e.,
the data in the buffer represents a rectangular area with a
specified number of rows and columns. The buffer can hold only
one data pattern at a time, so whenever you put something into
the buffer, whatever was there before is lost.
To put something in the box buffer, you must first highlight
it with a box highlight. To create a box highlight, put the
cursor at a position which is the upper left-hand corner of the
area you want highlight. Holding down the right <shft> key,
move the cursor to the left with the ► cursor key. You will
see a (white) highlight start to appear on the current line.
Now, while continuing to hold down the right <shft> key, move
the cursor down with the ▼ cursor key. The highlight will
extend downward with the cursor. You may change the size of the
highlight using any of the four arrow keys, while still holding
down the right <shft> key.
When you have highlighted an area of the window, there are
two commands which will load this material into the box buffer.
<ctrl> Insert = copy material in the box highlight to the
box buffer. Contents of the window remains
unchanged.
<ctrl> Delete = copy material in the box highlight to the
box buffer. Delete the highlighted
material from the window. Data to the
right of the highlight shifts left to
fill the empty space.
The contents of the box buffer may be copied to any window
any number of times. The command to copy the box buffer is
<shft> Insert . The top left-hand corner of the material in
the box buffer will be copied to the window at the point of
the cursor. If insert mode is on, material already at that
point in the window will move to the right to make space for
the buffered material; if insert mode is off, the contents of
the box buffer will over write what was in the window at that
point.
┌─────────────────┐
│ the line buffer │
└─────────────────┘
The line buffer differs from the box buffer in two fundamental
ways. Whereas the box buffer can hold only one pattern at a time,
the line buffer can hold virtually an unlimited number of lines.
In fact, the line buffer is actually a line refuse heap; all lines
deleted with various forms of the the Delete key end up stored in
the line buffer. Secondly, whereas the contents of the box buffer
cannot be removed, but only overwriten, lines in the line buffer
can be taken out.
Any lines deleted with a line delete command are automatically
put in the line buffer. Lines can be deleted in two ways:
1. <alt> Delete will delete the line the cursor is on.
2. If you push the Delete key after highlighting a group of
lines with the line highlight (purple). The group of lines
will be deleted.
To create a line highlight for a group of lines, put the
cursor on the first line in the group and holding down the
right <shft> key, move the cursor to the down with the ▼
cursor key. You will see a (purple) highlight appear on the
current line. While continuing to hold down the right <shft>
key, move the cursor down with the ▼ cursor key until you
have highlighted your entire group. If your is group is large,
you may want to use the right <shft> PageDown key, which adds
24 lines to the group at a time. If you overextend the
highlight, the right <shft> ▲ and right <shft> PageUp keys
will decrease the number of highlighted lines.
Lines may be inserted into the line buffer without being
deleted from the window.
1. <shft-alt> Delete adds the line the cursor is on to the
line buffer without deleting the line from the window.
2. <shft-alt> ▼ does the same thing, but also scrolls the
screen. This feature allows you to scroll through large
sections of a window, adding lines to the line buffer as
you go.
3. If you push the Insert key after highlighting a group of
lines with the line highlight (purple). The group of lines
will be added to the line buffer.
The line buffer is a last-in, first-out buffer. When you
retrieve lines from the buffer, the last line you put in will
come out first. The command that retrieves lines from the
buffer is <shft-alt> Insert. This command normally retrieves
a single line at a time; however, in the case where the last
line put in the buffer was part of a group, the command will
retrieve the entire group. Repeating the command thereafter
will retrieve one line at a time.
Lines can be retrieved to any line location in any window.
Simply put the cursor on the line where you want lines inserted
and press <shft-alt> Insert.
When you retrieve lines from the line buffer using the
<shft-alt> Insert command, those lines are taken out of the
buffer. If you want to copy lines from the line buffer to the
screen without taking them out of the buffer, you must use the
<ctrl-shft> Insert command. This command normally copies only
the last line; however, in the case where the last line put in
the buffer was part of a group, the command will copy the
entire group. Repeating the command thereafter will also copy
the entire group.
┌───────────────────┐
│ the stream buffer │
└───────────────────┘
The Dmuse editor includes a stream buffer for use when
wordwrap is on. Essentially, the stream buffer treates text
data as a simple sequence of characters, with no information
about where line breaks might have been. In this way, streams
of characters (sentences) can be added and deleted from
paragraphs, irrespective of where the margins might be set.
The stream buffer is discussed in the Advanced Topics help
section under wordwrap.
──────────────────────────────────────────────────────────────────
┌────────────────────────────────────┐
│ T H E E N V I R O N M E N T │
└────────────────────────────────────┘
┌───────────────────────────────┐
│ parameters of the environment │
└───────────────────────────────┘
The basic environment of the Dmuse editor consists of 20
independent windows. Parameters of the environment come in two
types: those which are global and apply to all windows, and
those which are specific to each window.
Parameters specific to each window
──────────────────────────────────
1. the contents of the window (text in the window).
2. cursor position in the window
3. portion of the window shown by the screen
4. right and left margins. These are set using the
right <shft-alt> and the left <shft-alt> together
with the ► and the ◄ cursor keys.
5. tab markers. These are set using the <ctrl> Tab command
6. color attributes for typed characters. These are set by
typing the various combinations of <ctrl>, <shft>, and
one of the function keys: F5 , F6 , F7 , and F8 .
7. screen display mode. This is selected using the
<ctrl> F10 command and specifying "d" to set the
display mode.
8. insert mode. This is toggled with the Insert key.
9. Exempt_CR file. This flag determines which format to
use when writing a window to a file. When the flag
is set (on), the end-of-line marker is a single
LF byte; when the flag is clear (off) the end-of-line
marker is the two byte sequence CR + LF (Microsoft
convention). This flag may be toggled with the
<ctrl-shft> KeyPad * keystroke.
10. wordwrap. If wordwrap is enabled, this is toggled
with the KeyPad * key.
11. Ibex connection. If the Ibex interpreter is enabled,
this is toggled using the <shft> KeyPad * command.
12. current directory and current drive. These can be
changed by the file manager ( F4 ).
13. read protect. This is turned on if a file is loaded
in hex format, or if a directory is loaded into a
window. Read protect can be toggled, using the
<ctrl> F10 command and specifying the "r" option.
Whne read-protect is ON, the word Window in the
top Red bar is blue.
14. window modified flag (blue highlight of the colon after
the window number in the top red bar). This flag
comes on if the contents of a window is different
from the file from which the window was loaded.
Simply put, if you load a file into a window and
then type in that window, the window modified flag
flag comes on. If you write the contents of a
window into a file, the window modified flag goes
off.
Parameters which apply to all windows
─────────────────────────────────────
1. the contents of the box, line, and stream buffers
2. the Caps Lock and Num Lock keys
3. the margin reformatting parameters. These are set
using the <ctrl> F10 command and specifying "m"
for margin reformatting options.
4. the current search string. This is set by the
KeyPad / command.
5. the print-screen parameters. These are set by pressing
the F9 key and selecting "p" for print parameters.
6. language dictionaries (advanced topic).
┌─────────────────────────────────────┐
│ saving the state of the environment │
└─────────────────────────────────────┘
The Dmuse program at any particular time is in a particular
state of being, and is waiting for you to do something. There
are two reasons why you might wish to preserve (record the
parameters of) the current state: (1) you might want to save
the state of things for archival or safety purposes, and/or (2)
you might want to exit Dmuse right now (maybe even turn off
your computer) and restart Dmuse later with everything the way
you left it.
Dmuse provides you with some commands for saving most of the
parameters of the current state. There are two choices you need
to make when you save the current state, which means there are
four possible commands. The choices are: (1) exit Dmuse vs.
don't exit Dmuse after saving the state, and (2) save the state
in a default file vs. save the state in a file, the name of
which you specify. The four commands are shown in the table
below.
┌──────────► Commands for saving the state of Dmuse ◄──────────┐
│ │
│ Save the current state │
│ Save the current state of Dmuse in a file which │
│ of Dmuse in a default you specify. To return │
│ file. To return to this to this state, type │
│ state, type \"dmuse $\" \"dmuse <file name>\" │
│ at the DOS prompt. at the DOS prompt. │
│ ┌────────────────────────┬────────────────────────┐ │
│ EXIT │ │ │ │
│ Dmuse │ <shft> F2 │ <ctrl> F2 │ │
│ │ │ │ │
│ ├────────────────────────┼────────────────────────┤ │
│ Do not│ │ │ │
│ EXIT │ <shft> F12 │ <ctrl> F12 │ │
│ Dmuse │ │ │ │
│ └────────────────────────┴────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
Not all parameters are saved by these commands. Listed below
are the state parameters of Dmuse together with a code telling
you what is saved and what is not.
= parameter or data saved = parameter or data not saved
Parameters specific to each window
──────────────────────────────────
1. the contents of the window (text in the window).
2. cursor position in the window
3. portion of the window shown by the screen
4. right and left margins.
5. tab markers.
6. color attributes for typed characters.
7. screen display mode.
8. insert mode.
9. Exempt-CR flag.
10. state of wordwrap.
11. state of Ibex connection, and the state of any Ibex
program that might be running at save time.
12. current directory and current drive.
13. read protect.
14. window modified flag.
Parameters which apply to all windows
─────────────────────────────────────
1. the contents of the box, line, and stream buffers
2. the Caps Lock and Num Lock keys
3. the margin reformatting parameters.
4. the current search string.
5. the print-screen parameters.
6. language dictionaries settings (advanced topic).
It is very handy that Dmuse allows you to save the state
of the program. However, there is a dangerous pitfall that
you need to be aware of. The process of saving the state
of Dmuse does not store the contents of each window back to
the file from which it came. The pitfall is this: Suppose
Window 0 is loaded with the text of a file you are currently
working on and you save the state of Dmuse and exit. Suppose
later that you make changes to the text file, so that the version
which is "state saved" in Window 0 is no longer current. Suppose
that still later, you restart Dmuse using the saved state of the
program and you forget that the contents of Window 0 is no
longer current. There is nothing to warn you that Window 0
is no longer current, so if you store Window 0 back to the
source text file, you will be over-writing a more recent version
of the text file with an older version.
There are two steps you can take to assure that this
error never occurs. (1) Before you save the state of Dmuse,
make sure that all windows containing current work-in-progress
have been written back to their respective files. (2) If
you restart Dmuse from a "saved state", be suspicious of the
contents of any window with the blue "window modified" flag
on. This flag means that the window was modified and not
written back to its source at the time the state was saved.
Even safer would be to reload every window containing a
a file you consider important.
┌───────────────┐
│ exiting Dmuse │
└───────────────┘
The normal way to exit Dmuse is to type <ctrl-shft> F2 .
If you want to save the state of Dmuse before you exit, you
have two options: <shft> F2 will save the state of Dmuse in
a default file and then exit; <ctrl> F2 will save the state
of Dmuse in a file which you specify, and then exit.
To restart Dmuse using the state saved in the default
file, you would type "Dmuse $" at the Linux prompt; to restart
Dmuse using the state saved in the file you specified, you
would type "Dmuse <filename>" at the Linux prompt.
──────────────────────────────────────────────────────────────────
┌────────────────────────────────────────────────────────────┐
│ P R I N T I N G T E X T F R O M A W I N D O W │
└────────────────────────────────────────────────────────────┘
The Dmuse editor provides a means of printing the contents
of a window. For this to work, the hardware and software need
to be set up properly.
┌───────────────┐
│ printer setup │
└───────────────┘
Dmuse expects to find an HP LaserJet or similar printer
connected to the parallel port, LPT1. On most PC's there is
only one parallel port -- the 25 pin connector. In addition,
if you want to print anything, you must make sure that you
have permission to write to the device /dev/lp0. To get
this permission, switch to superuser and type:
chmod 666 /dev/lp0 at the Linux prompt.
┌────────────────────┐
│ printer parameters │
└────────────────────┘
As a default, the Dmuse editor is set up to print with
the following parameters:
topline: 5
number of lines: 54
lines per inch: 6
left margin: 80 / 100ths of an inch.
number of copies: 1
orientation: normal page (top to bottom)
font type: Courier
size: 12 point
You may change these parameters by pressing F9 and choosing
"p" for print options. Follow the instructions to change
these parameters as desired. You may print at 6 lines per
inch (normal single space) or at 1, 2, 3 (double space), 4
or 8 lines per inch. The position of the left margin is
measured in 100ths on an inch (100 = 1 inch). You may specify
from 1 to 20 copies of each page. You may print in either
normal page mode (page oriented up and down) or in sideways
mode. Font types include 12 pt Courier, 10 pt Courier and
8.5 Line Printer. Printer parameters are global to all
windows of Dmuse.
┌─────────────────────┐
│ the PrintScreen key │
└─────────────────────┘
To print the contents of a window, you must first format the
contents of the window for the printer. Press <shft>PrintScreen
to do this. You will be given the name of a temporary file.
You must then (in connect mode) run the program printscr. If
you printer is hooked up properly, this will print the temporary
file. The temproary files are stored in the directory
disp/print (on most computers in the path /usr/local/apps).
──────────────────────────────────────────────────────────────────
┌─────────────────────────────────────────────────────────┐
│ L O A D I N G A N D S T O R I N G F I L E S │
└─────────────────────────────────────────────────────────┘
┌────────────────────────────┐
│ loading a file to a window │
└────────────────────────────┘
The first thing to remember when you decide to load a
file to a window is that the loading will commence at the
line the cursor is currently on. If the cursor is not at
the top of the window (line 1), whatever lines are above
cursor will not be affected by the loading of a new file.
As a result, the contents of the window will not match the
contents of the source file. If you want the contents of
window to match the contents of the source file, you must
put the cursor on line 1 before loading the file. The
best way to do this is to press the Home key. Before
loading a file into a window, the Dmuse editor automatically
moves the cursor to column 1 and clears the window at and
below the cursor. You do not need to clear the window.
There are two ways to load a file into the current window.
The KeyPad + command will cause a dialog box to appear, with
a prompt for the name of the file to be loaded to the window.
If you specify a valid file name, that file will be loaded to
the window. The second way to load a file into the current
window is to use the resident file manager ( F4 ). If you
activate the resident file manager and then you type a number
which references a file in the listing of the current
directory, the file manager will load that file into the
current window.
It is possible to load a directory into a window. If
you type KeyPad + and specify the name of a directory at
the prompt, the directory listing will be loaded into the
window.
It is possible to load the current window with the contents
of another window. Use the KeyPad + command, and type *<#>
at the prompt, where <#> = the number of the window you want
to load into the current window.
When you select a file to load into a window, Dmuse inspects
the first 80 bytes of the file to determine whether the file
contains ASCII (readable) text. If Dmuse finds more than 10
non ASCII bytes in this group, it becomes suspicious that the
file is non ASCII and asks you whether you really want to load
the file. If you type "Y", it asks you if you would like to
see the file in HEX format. If you type "Y" again, the window
will be loaded with a hexideciaml representation of the bytes
in the file. An ASCII translation will also appear at the
right. In this case, the contents of the window describes but
does not match the contents of the file. To prevent you from
inadvertently trying to store the contents of the window back
into the source file, Dmuse turns on the read-protect flag for
this window. You may turn the flag off using the <ctrl> F10
command and chosing the "r" option.
Even if a file is ASCII, it is possible to load the file
in HEX format. Use the KeyPad + command, and type "$" at the
prompt. Type the file name at the second prompt.
It is possible to load several files sequentially into one
window. Simply load the first file; press the End key to
put the cursor at the bottom of the window; load the second
file (the window above the cursor will remain unchanged by
this); press the End key again; load the next file, etc.
┌────────────────────────────────────────────┐
│ storing the contents of a window to a file │
└────────────────────────────────────────────┘
The command for storing the contents of a window into a
file is <shft> KeyPad +. You will be prompted for the name
of the output file. If you type "$", the output file will
be the file listed in the red title bar above the window.
In most cases, this will be the source file from which the
window was initially loaded. The "$" response lets you
overwrite (update) the source file with the contents of the
window. If you respond to the prompt by typing the name of
a file, and a file by that name already exists, Dmuse will
ask you specifically whether you want to overwrite the pre-
existing file. If the file you specify does not already
exist, Dmuse will create a new file.
If the read protect flag is on for a particular window,
that window cannot be written to a file or copied to another
window. The read protect flag may be turned off using the
<ctrl> F10 command and chosing the "r" option.
┌──────────────────────────────────┐
│ Microsoft vs. Linux file formats │
└──────────────────────────────────┘
They are actually slightly different. The Microsoft file
format uses two characters (CR=carriage return, and NL=new line)
at the end of each record or line. Linux uses only the single
NL character. When a file is loaded, the terminators are stripped
from each record; and when a file is stored, the terminators are
added back. When a file is loaded, Dmuse makes a best guess
determination of which format is in use. If the format is
Linux, a flag is set at the top of the window. This way, Dmuse
can keep track of the file's original format and can restore
it thus. If a window is being stored for the first time, the
default is the Microsoft format. The user may toggle the file
format flag by pressing <ctrl><shft>KeyPad *. This way the user
has control over which format is used when storing a file,
irrespective of what format the file was in originally.
There is one other aspect in how Dmuse uses the two formats.
This regards the treatment of the Tab character in a line or record.
Normally, Dmuse treats a Tab character (ascii 9) like any other
character. Its display glyph is '┊'. However, there are times
when the user may want the Tab character to actually "tab" to
the right, to the next tab distance. Since we have two format
types already, the decision was made to use the Linux format
type to implement a tab feature; that is, any tabs encountered
in a line will cause spaces to be added out to the next tab
distance. The tab glyph, itself, appears in place of the last
added space so that the user can see that the tab was present
and was used to add spaces. Likewise, when a file is being stored
in the Linux format, all spaces preceding a Tab character are
removed (up to one less than the tab distance).
In general, this feature works fine; but there needs to be a
way for the user to store a file in Linux format, but also have full
control of the position of Tabs and spaces. This is accomplished
using the ascii 250 (the centered ·) character. If this character
is used as a space before a Tab character, the <shft> KeyPad +
command will recognize it as such and remove it along with any
ascii 32 spaces it finds. But if this command is combined with
the <ctrl> key, i.e. <ctrl><shft>KeyPad +, then only the ascii
250 (centered ·) characters are removed. Thus ascii 32 spaces
before Tab characters can be preserved. If you want to load
a Linux formatted file with tabs and you want all added space
characters to be represented by ascii 250 (the centered ·), the
command <ctrl>Keypad + will do this. In summary, then, using
the <ctrl> key with the commands Keypad + and <shft>KeyPad + will
cause the loading and storing of Linux formatted files to use and
recognize only the ascii 250 character as added space; the ascii
32 characters are unaffected.
Note that in the the Microsoft format, the Tab character is
treated like any other character, and spaces are neither added
nor removed when loading a file to a window or storing a window
to a file.
──────────────────────────────────────────────────────────────────