From: David Lawrence Ramsey 4.1. How do I open a file with a name beginning with '+' from the command line?
+ 4.4. Ack! When I hold down a Meta key combination for a while, the character of the held key gets inserted now and then. What gives?
4.2. Ack! My Backspace/Delete/Enter/Meta/double bucky key doesn't seem to work! What can I do?
4.3. Ack! My numeric keypad's keys don't work properly when NumLock is off! What can I do?
- 4.4. Ack! When I press Meta-[ to unindent marked text, it only works after a short delay, and if I press Meta-[ again during the delay, I get a typed [ instead of another unindent. What gives?
- 4.5. Ack! When I hold down a Meta key combination for a while, the character of the held key gets inserted now and then. What gives?
- 4.6. How do I type the F13-F16 keys shown in the help browser? My keyboard only has F1-F12!
- 4.7. Nano crashes when I type <insert keystroke here>!
- 4.8. Nano crashes when I resize my window. How can I fix that?
- 4.9. [version 1.1.12 and earlier] Why does nano show ^\ in the shortcut list instead of ^J?
- 4.10a. [version 1.1.12 and earlier] When I type in a search string, the string I last searched for is already in front of my cursor! What happened?!
- 4.10b. [version 1.1.99pre1 and later] Hey, the search string behavior has reverted, it's now like Pico, what happened to the consistency?
- 4.11. How do I make nano my default editor (in Pine, mutt, etc.)?
- 4.12. I've compiled nano with color support, but I don't see any color when I run it!
- 4.13. How do I select text for the clipboard in an X terminal when I'm running nano in one and nano's mouse support is turned on?
+ 4.5. How do I type the F13-F16 keys shown in the help browser? My keyboard only has F1-F12!
+ 4.6. Nano crashes when I type <insert keystroke here>!
+ 4.7. Nano crashes when I resize my window. How can I fix that?
+ 4.8. [version 1.1.12 and earlier] Why does nano show ^\ in the shortcut list instead of ^J?
+ 4.9a. [version 1.1.12 and earlier] When I type in a search string, the string I last searched for is already in front of my cursor! What happened?!
+ 4.9b. [version 1.1.99pre1 and later] Hey, the search string behavior has reverted, it's now like Pico, what happened to the consistency?
+ 4.10. How do I make nano my default editor (in Pine, mutt, etc.)?
+ 4.11. I've compiled nano with color support, but I don't see any color when I run it!
+ 4.12. How do I select text for the clipboard in an X terminal when I'm running nano in one and nano's mouse support is turned on?
5.1. There's no translation for my language!
5.2. I don't like the translation for <x> in my language. How can I fix it?
@@ -182,23 +181,21 @@ C Shell users (tcsh and csh): setenv TERM vt100
-You can use the -K or --rebindkeypad options on the command line, or add the line set rebindkeypad to your .nanorc. However, nano's mouse support won't work properly if you do any of these things.
-This is a special case. Meta-[ followed by (for example) A through D corresponds to the arrow keys on many terminals, and the delay is needed in order to handle them. If you don't want to wait at all between unindents, you can hold down the Shift key when pressing Meta-[ to get Meta-{, which will do the same thing as Meta-[ without the delay.
-This is a bug in the terminal, not in nano. When a key is repeating faster than nano can process it, the keyboard buffer becomes full and starts dropping incoming keystrokes. Unfortunately, it doesn't just drop whole keystrokes; it can also drop parts of multibyte key combinations, resulting in nano's receiving a wrong key.
-It depends on the terminal type you're using. On some terminals, such as the FreeBSD console, xterm, konsole, and gnome-terminal, Shift-F1 to Shift-F4 will generate F13 to F16. On other terminals, such as the Linux console, rxvt, and Eterm, Shift-F3 to Shift-F6 will generate F13 to F16.
-If you aren't trying some bizarre keystroke combination with some bizarre $TERM entry, chances are you have found a bug. You are welcome to submit it to the nano-devel list or to nano@nano-editor.org.
-Older versions of nano had this problem, please upgrade to a newer version (at least 0.9.9 would be great, 0.9.12 is recommended).
-The help (^G) and justify (^J) function were among the last to be written. To show the improvements that nano had over Pico (go to line # and replace), ^_ and ^\ were put on the shortcut list. Later, ^G came back in place of ^_ as it proved to be very valuable for new Unix users. If you use the -p option to nano (or hit Meta-P) you will get the same shortcuts at the bottom as Pico.
-In nano version 0.9.20, the default is to have a completely consistent user interface across all user input functions. This means that regardless of whether you're being asked for a filename to insert or write, or a string to search for, the previous value is already inserted before the cursor. If you prefer the old behavior, use the Pico emulation mode (-p or --pico) or just hit Meta-P while in nano (see the ^G help text for more details).
-It was decided that consistency was nice, but people are used to Pico's inconsistent behavior. Also, in version 1.1.99pre1, search and replace history was introduced. If you wish to edit your previous search/replace entry (or any previous entry), you can do so by hitting the up arrow to cycle through your history. This method allows the best of both worlds: You don't need to erase the previous string if you want to enter a new one, but you can with one keystroke recall previous entries for editing. Therefore there is now no "Pico mode", nano is and has always been a Pico clone, and clones by default should be compatible.
You need to make nano your $EDITOR. If you want this to be saved, you should put a line like this in your .bashrc if you use bash (or .zshrc if you believe in zsh):
export EDITOR=/usr/local/bin/nano
or if you use tcsh put this in your .cshrc file:
@@ -256,7 +253,8 @@Re-read Section 7.4 and you should know the answer.
8. ChangeLog
-2006/05/08 - Add a new section 4.5, and move all section 4 entries after it down one number, to explain a problem that can occur when holding down keys to generate Meta sequences. Also add a few more capitalization and wording fixes. (Benno Schulenberg, minor tweaks by DLR)
+2006/05/12 - Remove section 4.4, and move all section 4 entries after it up one number, since it no longer applies. Meta-] and Meta-[ are no longer used to indent and unindent marked text, since they require that the bracket matching key change to Ctrl-], which is used as the telnet escape key. (DLR, found by Chris)
+2006/05/08 - Add a new section 4.5, and move all section 4 entries after it down one number, to explain a problem that can occur when holding down keys to generate Meta sequences. Also add a few more capitalization and wording fixes. (Benno Schulenberg, minor tweaks by DLR)
2006/05/01 - Add a new section 4.4, and move all section 4 entries after it down one number, to explain how to deal with problems typing Meta-[. Also add a few capitalization and wording fixes. (DLR)
2006/04/14 - Clarify section 1.4: help menu -> help text display. (DLR, suggested by Benno Schulenberg)
2006/03/16 - Update the Free Translation Project's address, change the character set to UTF-8, and remove broken links to contributed RedHat nano packages. (DLR)
diff --git a/src/global.c b/src/global.c index 6e140060..8af2b724 100644 --- a/src/global.c +++ b/src/global.c @@ -580,13 +580,11 @@ void shortcut_init(bool unjustify) sc_init_one(&main_list, NANO_NO_KEY, N_("Indent Text"), IFHELP(nano_indentmarked_msg, FALSE), NANO_INDENTMARKED_KEY, - NANO_NO_KEY, NANO_INDENTMARKED_ALTKEY, NOVIEW, - do_indent_marked_void); + NANO_NO_KEY, NANO_NO_KEY, NOVIEW, do_indent_marked_void); sc_init_one(&main_list, NANO_NO_KEY, N_("Unindent Text"), IFHELP(nano_unindentmarked_msg, TRUE), NANO_UNINDENTMARKED_KEY, - NANO_NO_KEY, NANO_UNINDENTMARKED_ALTKEY, NOVIEW, - do_unindent_marked_void); + NANO_NO_KEY, NANO_NO_KEY, NOVIEW, do_unindent_marked_void); #endif sc_init_one(&main_list, NANO_FORWARD_KEY, N_("Forward"), @@ -642,8 +640,8 @@ void shortcut_init(bool unjustify) NANO_NO_KEY, NANO_LASTLINE_ALTKEY2, VIEW, do_last_line); #ifndef NANO_TINY - sc_init_one(&main_list, NANO_BRACKET_KEY, N_("Find Other Bracket"), - IFHELP(nano_bracket_msg, FALSE), NANO_NO_KEY, NANO_NO_KEY, + sc_init_one(&main_list, NANO_NO_KEY, N_("Find Other Bracket"), + IFHELP(nano_bracket_msg, FALSE), NANO_BRACKET_KEY, NANO_NO_KEY, NANO_NO_KEY, VIEW, do_find_bracket); sc_init_one(&main_list, NANO_NO_KEY, N_("Scroll Up"), diff --git a/src/nano.h b/src/nano.h index 093717b1..d237a8a9 100644 --- a/src/nano.h +++ b/src/nano.h @@ -431,7 +431,6 @@ typedef struct rcoption { #define NANO_ALT_EQUALS '=' #define NANO_ALT_RCARET '>' #define NANO_ALT_QUESTION '?' -#define NANO_ALT_LBRACKET '[' #define NANO_ALT_BACKSLASH '\\' #define NANO_ALT_RBRACKET ']' #define NANO_ALT_CARET '^' @@ -550,19 +549,17 @@ typedef struct rcoption { #define NANO_BACKSPACE_KEY NANO_CONTROL_H #define NANO_TAB_KEY NANO_CONTROL_I #define NANO_INDENTMARKED_KEY NANO_ALT_RCURLYBRACKET -#define NANO_INDENTMARKED_ALTKEY NANO_ALT_RBRACKET #define NANO_UNINDENTMARKED_KEY NANO_ALT_LCURLYBRACKET -#define NANO_UNINDENTMARKED_ALTKEY NANO_ALT_LBRACKET #define NANO_SUSPEND_KEY NANO_CONTROL_Z #define NANO_ENTER_KEY NANO_CONTROL_M #define NANO_TOFILES_KEY NANO_CONTROL_T #define NANO_APPEND_KEY NANO_ALT_A #define NANO_PREPEND_KEY NANO_ALT_P #define NANO_PREVFILE_KEY NANO_ALT_LCARET -#define NANO_NEXTFILE_KEY NANO_ALT_RCARET #define NANO_PREVFILE_ALTKEY NANO_ALT_COMMA +#define NANO_NEXTFILE_KEY NANO_ALT_RCARET #define NANO_NEXTFILE_ALTKEY NANO_ALT_PERIOD -#define NANO_BRACKET_KEY NANO_CONTROL_5 +#define NANO_BRACKET_KEY NANO_ALT_RBRACKET #define NANO_NEXTWORD_KEY NANO_CONTROL_SPACE #define NANO_PREVWORD_KEY NANO_ALT_SPACE #define NANO_WORDCOUNT_KEY NANO_ALT_D diff --git a/src/prompt.c b/src/prompt.c index 973b42e0..01ec2957 100644 --- a/src/prompt.c +++ b/src/prompt.c @@ -89,11 +89,11 @@ int do_statusbar_input(bool *meta_key, bool *func_key, bool *s_or_t, input == NANO_BACKSPACE_KEY || input == NANO_DELETE_KEY || input == NANO_CUT_KEY || #ifndef NANO_TINY - input == NANO_NEXTWORD_KEY || input == NANO_BRACKET_KEY || + input == NANO_NEXTWORD_KEY || #endif (*meta_key == TRUE && ( #ifndef NANO_TINY - input == NANO_PREVWORD_KEY || + input == NANO_PREVWORD_KEY || input == NANO_BRACKET_KEY || #endif input == NANO_VERBATIM_KEY))); @@ -180,7 +180,8 @@ int do_statusbar_input(bool *meta_key, bool *func_key, bool *s_or_t, break; #ifndef NANO_TINY case NANO_BRACKET_KEY: - do_statusbar_find_bracket(); + if (*meta_key == TRUE) + do_statusbar_find_bracket(); break; #endif case NANO_VERBATIM_KEY: