]> git.wh0rd.org Git - nano.git/commitdiff
New keybindings code and backend. New structs subnfunc for menu functions
authorChris Allegretta <chrisa@asty.org>
Wed, 5 Mar 2008 07:35:01 +0000 (07:35 +0000)
committerChris Allegretta <chrisa@asty.org>
Wed, 5 Mar 2008 07:35:01 +0000 (07:35 +0000)
and toggles and sc for shortcut keys, old 'shortcut' and 'toggles' structs are
gone.  The current implementation has a bunch of broken stuff (some of which is
documented in BUGS).  Updated nanorc.5 with some mostly complete documentation
on configuring.

Part 2 of commit since I accidentally did it in src/ the first time.  Yeah,
welcome back bonehead.

git-svn-id: svn://svn.savannah.gnu.org/nano/trunk/nano@4216 35c25a1d-7b9e-4130-9fde-d3aeb78583b8

BUGS
ChangeLog
doc/man/nanorc.5
doc/nanorc.sample.in

diff --git a/BUGS b/BUGS
index 73ad4f4fc04e6f271f98371de7dbd1a564719286..61d61e8c26370ada3336667ed63a594d0b82a7b7 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,4 +1,16 @@
 ** Open BUGS **
+- Cutting the line at the top of the screen recenters to center (71)
+- F-keys do not work with new shortcut backend (72)
+- Many menu items are probably missing from the new backend (73)
+- Need a 'check-vitals-mapped' function to check that the end used didn't
+  unbind all the keys for exit or cancel before starting up the editor (74)
+- Browser and prompt code still implement old switch on raw key input instead
+  of new if block for subnfunc values (75)
+- New backend code probably does not compile under anything but default options, 
+  if that (76)
+- Meta-space and ^Space are not yet handled  in new backend code (77)
+- -enable-tiny does not work with new code (78)
+
 
 ** Fixed BUGS **
 - Marked cutting sometimes leaves a newline in the file unintelligently,
index d95de6c872c7c6b4deedd3ecee5c20e71748a190..ee5a5a3f857c8cb680b3b4538f24b3dd5c5f7cdf 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2008-03-04  Chris Allegretta <chrisa@asty.org
+       * everything - New shortcut backend.  New structs subnfunc
+       for menu functions and toggles and sc for shortcut keys, old 
+       'shortcut' and 'toggles' structs are gone.  The current implementation 
+       has a bunch of broken stuff (some of which is documented in BUGS). 
+       Updated nanorc.5 with some mostly complete documentation on configuring.
+
 2007-12-20  David Lawrence Ramsey  <pooka109@gmail.com>
 
        * AUTHORS, doc/faq.html: Update maintenance information.
index 7494df2cb50497b783bfbb6f607a6d8a25368c94..ff8de18be82c3383e10e4f3eb66994304cce3179 100644 (file)
@@ -250,6 +250,257 @@ Same as above, except that the expression matching is case insensitive.
 Read in self-contained color syntaxes from \fIsyntaxfile\fP.  Note that
 \fIsyntaxfile\fP can only contain \fBsyntax\fP, \fBcolor\fP, and
 \fBicolor\fP commands.
+.SH KEY BINDINGS
+Key bindings may be reassigned via the following commands:
+.TP
+.B bind \fIkey\fP \fIfunction\fP  \fImenu\fP
+Rebinds the key \fIkey\fP to a new function named \fIfunction\fP in the
+context of menu \fImenu\fP.  The format of  \fIkey\fP should be one of:
+.TP
+.B ^ 
+followed by an alpha character or the word "Space"
+.TP
+.B M- 
+followed by a prinable character or the word "Space"
+.TP
+.B F# 
+followed by a numeric value from 1-16
+.TP
+Valid function names to be bound include:
+.TP
+.B help
+Invoke the help menu
+.TP
+.B cancel
+Cancel the current command
+.TP
+.B exit
+Exit from the program
+.TP
+.B writeout
+Write the current buffer to disk
+.TP
+.B justify
+Justify text
+.TP
+.B insert
+Insert a file into the current buffer (or a new buffer with multi-buffer enbled)
+.TP
+.B whereis
+Search for text in the program
+.TP
+.B searchagain
+Repat the last search command
+.TP
+.B up
+Move up in the editor or browser
+.TP
+.B down
+Move down in the editor or browser
+.TP
+.B left
+Move left in the editor or browser
+.TP
+.B right
+Move right in the editor or browser
+.TP
+.B cut
+Cut the current line of text and store it
+.TP
+.B uncut
+Copy the currently stored text into the current file location
+.TP
+.B curpos
+Show the current line, column, word positions in the file
+.TP
+.B firstline
+Move to the first line of the file
+.TP
+.B lastline
+Move to the last line of the file
+.TP
+.B gotoline
+Move to a specific line (and column if specified)
+.TP
+.B replace
+Interactively replace text within the editor
+.TP
+.B mark
+Begin selecting text for cutting or pasting at the current position
+.TP
+.B copytext
+Copy the currently marked text without deleting it
+.TP
+.B indent
+Indent the currently marked text (shift to the right)
+.TP
+.B unindent
+Un-indent the currently marked text (shift to the left)
+.TP
+.B nextword
+Move the cursor to the beginning of the next word
+.TP
+.B prevword
+Move the cursor to the beginning of the previous word
+.TP
+.B home
+Move the cursor to the beginning of the current line
+.TP
+.B end
+Move the cursor to the end of the current line
+.TP
+.B beginpara
+Move the cursor to the beginning of the current paragraph
+.TP
+.B endpara
+Move the cursor to the beginning of the current paragraph
+.TP
+.B findbracket
+Move the cursor to the matching bracket (brace, etc) of the one under the cursor
+.TP
+.B scrollup
+Scroll up one line of text from the current position
+.TP
+.B scrolldown
+Scroll down one line of text from the current position
+.TP
+.B prevbuf
+Switch to editing/viewing the previous buffer when using multibuffer mode
+.TP
+.B nextbuf
+Switch to editing/viewing the next buffer when using multibuffer mode
+.TP
+.B verbatim
+Insert the next character verbatim into the file
+.TP
+.B tab
+Insert a tab at the current cursor location
+.TP
+.B enter
+Insert a new line below the current one
+.TP
+.B delete
+Delete the character under the cursor
+.TP
+.B fulljustify
+Justify the entire current file
+.TP
+.B wordcount
+Count the number of words in the current buffer
+.TP
+.B refresh
+Refresh the screen
+.TP
+.B casesens
+Toggle case sensitivity in searching (search/replace menus only)
+.TP
+.B regexp
+Toggle whether searches/replaces are based on literal strings or regular expressions
+.TP
+.B prevhistory
+Show the previous history entry in the prompt menus (e.g. search)
+.TP
+.B nexthistory
+Show the next history entry in the prompt menus (e.g. search)
+.TP
+.B dontreplace
+Switch back to searching instead of replacing
+.TP
+.B gototext
+Search for files matching a string in the file browser (reading or writing files)
+.TP
+.B dosformat
+When writing a file, switch to writing a DOS format (CR/LF) 
+.TP
+.B macformat
+When writing a file, switch to writing a Mac format
+.TP
+.B append
+When writing a file, append to the end instead of overwriting
+.TP
+.B prepend
+When writing a file, 'prepend' (write at the beginning) instead of overwriting
+.TP
+.B backup
+When writing a file, create a backup of the current file
+.TP
+.B firstfile
+Move to the first file when using the file browser (reading or writing files)
+.TP
+.B lastfile
+Move to the last file when using the file browser (reading or writing files)
+.TP
+.B nohelp
+Toggle showing/hiding the two line list of key bindings at the bottom of the screen
+.TP
+.B constupdate
+Constantly display the current line, column, etc position
+.TP
+.B morespace
+Toggle showing/hiding the blank space which 'seperates' the 'title' from the file text
+.TP
+.B smoothscroll
+Toggle smooth scrolling when moving via the arrow keys
+.TP
+.B whitesplacedisplay
+.TP
+.B smarthome
+Toggle whether the smart home key function is enabled
+.TP
+.B autoindent
+Toggle whether new lines will conain the same amount of whitespace as the line above
+.TP
+.B cuttoend
+Toggle whether cutting text will cut the whole line or just from the current cursor 
+position to the end of the line
+.TP
+.B nowrap
+Toggle whether long lines will be wrapped to the next line.
+.TP
+
+Valid menu sections are:
+.TP
+.B main
+The main editor window where text is entered
+.TP
+.B search
+The search menu (AKA whereis)
+.TP
+.B replace
+The 'search to replace' menu
+.TP
+.B replacewith
+The 'replace with' menu, which comes up after 'search to replace'
+.TP
+.B gotoline
+The 'goto line (and column) menu
+.TP
+.B writeout
+The 'write file' menu
+.TP
+.B insert
+The 'insert file' menu
+.TP
+.B extcmd
+The menu for inserting output from an external comman, reached from the insert menu
+.TP
+.B help
+The help menu
+.TP
+.B spell
+The interactive spell checker Yes/no menu
+.TP
+.B browser
+The file browser for inserting or writing a file
+.TP
+.B whereisfile
+The 'search for a file' menu in the file browser
+.TP
+.B gotodir
+The 'go to directory' menu
+.TP
+.B all
+Special symbol for all menus (except the help menu)
 .SH FILES
 .TP
 .I SYSCONFDIR/nanorc
index 95c1941fb802be22261396dfe9af40eeb514f57a..d1369776fab0449f7a2d4eb5fabccdfcddc76606 100644 (file)
 ##
 ## All regexes should be extended regular expressions.
 
+## Key bindings
+## Please see nanorc(5) for more details on this
+##
+## Here are some samples to get you going
+##
+# bind M-W nowrap main
+# bind M-A casesens search
+# bind ^S research main
+
 
 ## Nanorc files
 # include "@PKGDATADIR@/nanorc.nanorc"