nano-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Nano-devel] wishlist


From: Benno Schulenberg
Subject: Re: [Nano-devel] wishlist
Date: Thu, 20 Apr 2006 22:21:20 +0200
User-agent: KMail/1.9.1

David Lawrence Ramsey wrote:
> Benno Schulenberg wrote:
>  > My idea was that most keyboards have only 12 function keys. 
>  > Plus: these are the twelve that are shown in the bottombar. 
>  > And: this little dense group of four lines would make a nice
>  > landmark in the otherwise about equal-sized groups of keys.
>
> A landmark that small looks somewhat choppy, though, which is why
> I didn't do it.

Then you'll be horrified by what follows below.  :)  Brace yourself.

<snip>

> I hope these explanations make some sense.  Comments appreciated,
> though :)

They do make sense.  For someone knowing the editor inside out this 
order makes perfect sense.  But for someone new to nano who has a 
peek at the help text to get an idea of what the editor can do, the 
text is -- with all due respect -- a bewildering confusion.  In my 
opnion the text should rigorously group keys according to their 
functions.  It could look something like this:


 The following functions are available in the editor window (the main keys 
 are in the second column, alternative keys in the first):

        Key    Function

 F2     ^X     Close the current buffer / Exit from nano
 F3     ^O     Write the current file to disk
 F5     ^R     Insert another file into the current one

 F6     ^W     Search for a string or a regular expression
        M-W    Repeat last search
 ^\     M-R    Replace a string or a regular expression

 F9     ^K     Cut the current line and store it in the cutbuffer
 F10    ^U     Uncut from the cutbuffer into the current line
        M-T    Cut from the cursor position to the end of the file

 ^^     M-A    Mark/select text starting at the cursor position

        ^F     Move forward one character
        ^B     Move back one character
      ^Space   Move forward one word
      M-Space  Move back one word
        ^P     Move to the previous line
        ^N     Move to the next line
 F7     ^Y     Move to the previous screen
 F8     ^V     Move to the next screen

        ^A     Move to the start of the current line
        ^E     Move to the end of the current line
 M-9    M-(    Move to the start  of the current paragraph
 M-0    M-)    Move to the end of the current paragraph
        ^W^Y   Move to the start of the text
        ^W^V   Move to the end of the text

 M-,    M-<    Switch to the previous buffer
 M-.    M->    Switch to the next buffer

        M-V    Insert the next character verbatim
        ^I     Insert a tab character at the cursor position
        ^M     Insert a carriage return at the cursor position
        ^D     Delete the character under the cursor
        ^H     Delete the character to the left of the cursor

        M-]    Move to the matching bracket
 ^_     M-G    Move to a given line and column number
 M-_    M--    Scroll up one line without moving the cursor
 M-=    M-+    Scroll down one line without moving the cursor

 F4     ^J     Justify the current paragraph
        M-J    Justify the entire file
        M-D    Count the number of words, lines, and characters
 F12    ^T     Invoke the spell checker, if available

        ^L     Refresh (redraw) the current screen
 F11    ^C     Display the position of the cursor
 F1     ^G     Display this help text

        M-X    Help mode enable/disable
        M-C    Constant cursor position display enable/disable
        M-O    Use of more space for editing enable/disable
        M-S    Smooth scrolling enable/disable
        M-P    Whitespace display enable/disable
        M-Y    Color syntax highlighting enable/disable

        M-H    Smart home key enable/disable
        M-I    Auto indent enable/disable
        M-K    Cut from cursor to end-of-line enable/disable
        M-L    Long line wrapping enable/disable
        M-Q    Conversion of typed tabs to spaces enable/disable

        M-B    Backup files enable/disable
        M-F    Multiple file buffers enable/disable
        M-M    Mouse support enable/disable
        M-N    No conversion from DOS/Mac format enable/disable
        M-Z    Suspend enable/disable


The reasoning for this arrangement:

* The exit key should come first, the other file operation are 
  grouped along with it.
* Search and Replace.
* Cut and Paste.
* Then mark/select, as it affects both of the previous operations.
* Movement back and forth.
* Movement to start and end.
* Switching buffers.
* Insertion and deletion (quite late, because most people will simply 
  use Delete and Backspace, and the M-V is somewhat advanced).
* Special movement.
* Advanced things with paragraphs and words.
* Displaying stuff.
* Toggles affecting the way things are displayed.
* Toggles that affect editing.
* Toggles having to do with peripheral things.

You'll notice the addition of ^W^Y and ^W^V; in my opinion these basic 
movement key combinations must be mentioned in the main help text: one 
can't expect the user to go looking for them under ^W.

The text may now look pretty messy, but this is IMO compensated by 
having some logical order.  An order that will hopefully make some 
sense to newcomers, for whom the help text is mainly meant.

Benno




reply via email to

[Prev in Thread] Current Thread [Next in Thread]