README File for mino (Mino) for GNU/Linux Version 1.0

Developed 2014, By Mohammed Isam
For GNU/Linux
Released under GPLv3+

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.  This file is offered as-is,
without any warranty.


What is mino (Mino)?
Prime is a GNU software, part of the GnuDOS package.
Mino is a text file editor for use with the GNU/Linux console/xterm. The idea 
was to provide a text editor that is user friendly and easy to use for those 
who came from DOS land. Having accustomed to SHIFT selecting text, using 
CTRL-shortcut keys and so on makes it hard for a regular Joe to dive in head
first into GNU syntax. Mino provides multi-level experience, the level of
complexity can be adjusted by the user: you want to use DOS-keys with a few
basic GNU ones? you want to go with the full power of the GNU system? All are
options that are provided by the six levels of experience of Mino:

  1- Newbie: All DOS shortcut keys, no GNU keys yet
  2- Novice: DOS shortcut keys, some of which are replaced with GNU's
  3- Intermediate: DOS keys with a few more replaced with GNU keys
  4- ِAdvanced: ... And more GNU keys in
  5- ِExpert: Very few DOS keys, most are GNU keys
  6- ِVeteran: Only GNU keys, no DOS-like keys
  
You start with level 1 by default.
To set your level, call the mino with '--levelX' or '-lX' options,
Where X is the level desired, for example:

$mino --level2

Which keys are defined for which level?
Below is a table showing the DOS-like key combinations along with their 
respective GNU key bindings. To the right is the level at which a certain GNU
key is defined. Each key defined is recognized in higher levels (e.g. level 2
keys are recognized in levels 3-4-5-6). Note that in level 6 only GNU keys are
defined, no DOS keys will work at this level!.

Keybindings:
In the table below, C-something means pressing down CTRL and then pressing the
other key. Note that '^' is the same as 'C', meaning CTRL key, it is just
typed like this so DOS users can feel familiar with the text.
The same as M-something, which means META or ALT.

=====================================================================
Function        DOS-like key    GNU key                 GnuDOS Level
=====================================================================
All DOS bindings and no GNU bindings			Newbie

Next Line       Down            C-n                     Novice
Prev. Line      Up              C-p                     Novice
Backward        Left            C-b                     Novice
Forward         Right           C-f                     Novice
Back One Word   ^Left           M-b                     Intermediate
Fwd One Word    ^Right          M-f                     Intermediate

Cancel          ESC             C-g                     Intermediate
Next Screen     PgDn            C-v                     Intermediate
Prev. Screen    PgUp            M-v                     Intermediate
Start of Line   Home            C-a                     Intermediate
End of Line     End             C-e                     Intermediate
Start of text   ^Home           C-<                     Intermediate
End of text     ^End            C->                     Intermediate

Del prev char   BkSpc           DEL (is BkSpc)          Advanced
Del next char   Delete          C-d                     Advanced
Del prev word   ^BkSpc          M-DEL (is M-BkSpc)      Advanced
Del next word   ^Delete         M-d                     Advanced
Select text     SHIFT+Arrow     C-Space                 Advanced
Del selection   BkSpc/Del       C-w                     Advanced

Quit            ^Q              C-x C-c                 Expert
Paste (yanking) ^V              C-y                     Expert
Del Line        ^D              C-k                     Expert
Undo            ^Z              C-/, C-_, C-x u         Expert
Open File       ^O              C-x C-f                 Expert
Save File       ^S              C-x C-s                 Expert
Find (Search)   ^F              C-s (forward search)    Expert
                                C-r (reverse search)    Expert
Help            F1              C-h ?                   Expert

All GNU bindings and no DOS bindings                    Veteran
=====================================================================

Why should I use it?
If you would like to become accustomed to the default and commonly used GNU 
system key bindings, it would be very helpful to try and use a step-by-step
approach into learning how to use the GNU system effectively.

How to run it?
After installing the package, simply type:
$ mino
on your console (or xterm) and it will run. If you want to load a file into mino:
$ mino file-name
To reset the configuration file:
$ mino --reset-config
To show command line help:
$ mino [--help|-h]
And that's it!

Moving around with Shortcut Keys:
ALT+F: Open File menu
ALT+E: Open Edit menu
ALT+O: Open Options menu
ALT+H: Open Help menu

(1) File menu shortcuts:
CTRL+O: Open file
CTRL+S: Save file
CTRL+P: Print file (currently under development)
CTRL+Q:Exit program

(2) Edit menu shortcuts:
CTRL+X: Cut selection
CTRL+C: Copy selection
CTRL+V: Paste selection
CTRL+F: Find
CTRL+R: Find & Replace
CTRL+A: Select All
CTRL+Z: Undo
CTRL+Y: Redo
CTRL+D: Delete Line (selected line)
CTRL+E: Toggle select mode (under X, see below)

How does mino remember my preferences?
Mino stores its configuration in a file called '.mino.conf' under your home
directory. You can edit it by hand (or using mino!), but this is not advisable.
Use the Options menu under mino to change your preferences and mino will save
them into the config file.

What about sentence highlighting?
Currently mino recognizes the following file types:
C/C++ Source and header files
Perl scripts
Shell scripts

Whenever you open a file of these types, mino will automatically adjust the
colors of the view so that the language keywords, library functions, and
operators (like +-*/ and so on) are highlighted each in a different
color, on a black background, to ease writing your programs.

What else?
There is one catch: when running under the X system, the program will not be
able to capture all input from the keyboard, as X interferes with the keyboard
input. Don't panic, this is not much of a deal. Plus, there is a workaround. 
The only thing you will be missing is the SHIFT-select. That means you will not
be able to hold down shift and use arrow keys to select text. The solution is
using CTRL+E under X, which activates the select mode. Enter select mode, use
arrow keys to size your selection, do whatever you want with it, and exit the
select mode. You want a permanent solution? Run mino under the Linux console!.

Please send me your feedback and comments on [mohammed_isam1984@yahoo.com]

Thank you for using this software.
