Improvements in GNU nano ======================== Since 5.0: - For using libmagic the option --magic or -! or 'set magic' is required. - With --stateflags the state of some things is shown in the title bar. - M-Bsp deletes a word leftward. - With --indicator a "scrollbar" is shown, indicating position+portion. - M-Ins places an anchor, M-PgUp/M-PgDn jump to the nearest anchor. - Toggling help lines (M-X) and Refresh (^L) work nearly everywhere. - Colors can be modified with the attributes "bold," and/or "italic,". - Nine new color names: from pink and purple to orange and latte. Since 4.0: - Pasting from outside into nano suppresses auto-indentation. - Such an external paste can be undone with a single M-U. - Shift+Meta+letter key combos can be bound with 'bind Sh-M-letter ...'. - A custom nanorc file may be specified with -f / --rcfile. - What the key produces can be specified per syntax with 'tabgives'. - The ability to perform a search at startup with +/string or +?string. - Comment characters are copied when automatic hard-wrapping occurs. - The ability to both read from and write to a FIFO. - Automatic hard-wrapping is no longer the default. - Addition of --guidestripe to draw a helpful vertical bar. - Meta-Up and Meta-Down scroll the screen linewise. - Continuation is shown with a highlighted ">" instead of a plain "$". - A marked region gets justified into a single, separate paragraph. - Any number of justifications can be undone. Since 3.0: - Addition of --zap to make and obliterate marked text. - wipes next word and preceding word. - An external spell check can be undone. Since 2.9.0: - The ability to filter text through an external command. - Better detection of paragraphs, allowing a less indented beginning. - Option 'set afterends' for making Ctrl+Right stop at word ends. - A crash handler that saves changed buffers in case of a crash. - Addition of the color name "normal", meaning the default color. - A key can be bound to a string -- any mix of text and control codes. - Error messages are shown by default in bright white on red. - and can be used to indent/unindent a marked region. - Can snip trailing whitespace while typing, with 'set trimblanks'. - The ability to record and replay a series of keystrokes (a macro). - Assigned functions to ^S (save file) and ^Q (start backward search). - Indenting and unindenting have been integrated into the undo system. - Support for $XDG_CONFIG_HOME for the nanorc file, and $XDG_DATA_HOME for the history files (of search strings and cursor positions). Since 2.8.0: - ^U pastes the first line of the cutbuffer at a prompt. - Softwrapping can be done at whitespace (with --soft --atblanks). - The ^G help texts have become searchable (with ^W and M-W). - Ctrl+Home and Ctrl+End jump to start and end of file. - In softwrap mode the cursor now moves per visual row instead of per logical line, and the screen will scroll per row. Since 2.7.0: - The keystroke ^] to complete a fragment to an existing full word. - The ability to display line numbers in front of the text (M-#). Since 2.6.0: - Shift plus the cursor keys can be used for selecting text. - Ctrl+Arrow should now work also on a Linux virtual console. - Ctrl+Up and Ctrl+Down jump to previous or next block of text. - Feedback during Unicode Input (M-V followed by six digits). - The option 'wordchars' for specifying extra word characters. - Hi-bit control characters are shown in a more readable manner. - The ability to use negative numbers at the Go To Line prompt. - The ability to comment/uncomment lines with a single keystroke (M-3). - The ability to refresh the file list in the browser (^L). - The ability to abort re-searches (^C after an M-W). - Better feedback at startup when opening large or multiple files. Since 2.5.0: - The option 'justifytrim' for snipping whitespace from justified lines. - The ability to discard a buffer (^O ^Q) when --tempfile is used. - On most terminals Ctrl+Left / Ctrl+Right now work for PrevWord/NextWord. - When in the middle of a word, PrevWord now jumps to the start of this word (like Pico does) instead of to the start of the preceding word. - The ability to delete whole words with 'cutwordleft' and 'cutwordright'. - The ability to save a file without prompting for its name ('savefile'). - The ability to search backward without having to toggle the direction. Since 2.4.0: - Replacing things in a marked region now takes place in situ, in context, instead of changing the view to only the marked text. - Invalid byte sequences are properly displayed and not mistakenly found. - Resizing the window does not exit from help viewer nor file browser. Since 2.3.0: - System syntaxes can be improved upon with the 'extendsyntax' command. - Whitespace display (M-P) does not require configuration to be useful. - Undo/redo is enabled by default (M-U/M-E) and works nearly everywhere -- just not yet for justifying and indenting/unindenting. - The ability to color the title bar, the status bar and the help lines. - The ability to run a linter or formatter (^T) on the current buffer. - The ability to only write to named pipes with --noread. - Determination of the applicable syntax through libmagic -- when the file extension nor the first line give an answer. - The option 'positionlog' for saving/restoring the cursor position. - The ability to read and write vim-style lock files. Since 2.0.0: - The ability to rebind keys, via a nanorc file. - The ability to read standard input like a pager ("nano -"). - Color syntax highlighting can be set by the first line of a file. - The ability to silence nanorc error messages (-q). - Undo/redo operations (M-U/M-E, enabled with -u). - Soft wrapping of text (-$). - Better handling of backup files: if nano can't write a backup file, it won't try to write the original file afterward. - Emergency savefiles retain ownerships and permissions when possible. - Performance improvements in color syntax highlighting. Since 1.2.0: - Support for UTF-8. - Moving to a specified line and column of a file, instead of just a line (+LINE,COLUMN). - Smart home key (-A). - Creation of unique backup files in a specified directory (-C ). - Insertion of spaces instead of a tab when Tab is pressed (-E). - The long option for -K is now --rebindkeypad. - Regular expression searching can now be toggled when nano is built with --enable-tiny, so -R now means something else (see next item). - Restricted mode that provides more security than -o (-R). - Blanking of the statusbar after 1 keystroke instead of 25 (-U). - Word searches can optionally skip over punctuation (-W). - Workaround for Delete's acting like Backspace (-d). - Many more options are supported in the nanorc. - Improvements to color syntax highlighting support: case insensitive matching, the ability to include color syntaxes in separate files, the ability to specify background colors without foreground colors... - Insertion of single-byte characters via Esc Esc <000-255>. - Insertion of any character via Meta-V, "Verbatim Input". - Workaround for the "NumLock glitch". - Meta-W now repeats the last search. Wrapping is toggled via Meta-L. - Replacing and spell checking only selected text. - Indenting lines with one keystroke. - Copying text into the cutbuffer without cutting it. - Scrolling the text up and down single lines without moving the cursor. - PageUp and PageDown work more smoothly when using -S. - Scrolling the help text up and down single lines. - Cutting all text from the current position to the end of the file with one keystroke (Meta-T). - Justifying the entire file with one keystroke (Meta-J). - Justifying without removing spaces from the ends of lines. - Unjustifying after justifying and immediately resizing. - Going to the first or last line of the current paragraph. - Going to the first or last line of the file without having to go to the "Search" prompt. - Searching for filenames in the file browser. - Spaces and tabs are shown differently to make it easier to tell them apart. - Many more functions are available at the prompt: moving to the next or previous word, searching for matching brackets, "Verbatim Input"... - "To Line" (^W^T) and "Read from Command" (^R^X) return to their parent menu when their keystroke is entered again (^W^T^T and ^R^X^X). - Automatic adding of newlines to the ends of files without them can now be disabled (-L). - Converting from and to DOS/Mac file format is now toggled only at the "Write File" prompt, via Meta-D and Meta-M, and the default file format to save in is now set depending on what format the file was originally in. -D now makes nano use bold text instead of reverse video text, and Meta-D at the edit window now does a word/line/character count. -O now makes the unused second line of the screen part of the edit window, and Meta-O now toggles this behavior while editing. - Converting files that contain a mix of DOS and Mac format lines. - Automatic switching on of -N with binary files has been removed, as it causes problems with UTF-8 support. Since 1.0 - Complete Pico compatibility (option --pico has been removed, and -p now means something else, see below). - Support for nanorc files. - Smooth scrolling (-S). - Jumping to the matching brace, bracket, etc. - Help for all editor features. - Color syntax highlighting support. - Quote string support, useful for mail agents, etc. (-Q). - Insertion of output of external commands. - Optional enabling of XON and XOFF control characters (-p). - Option -o (--operatingdir) implements a chroot of sorts. - Mouse support (-m) also allows clicking on shortcuts. - Option -r allows a negative argument. - Overwriting and appending or prepending to files. - Writing marked text to separate files. - Multiple file buffers (-F). - Converting from and to DOS/Mac file format (-D/-M, -N to disable). - Better control character handling. - Creation of backup files (-B). - Search/replace history (-H). Available in 1.0: - Spell checking (^T). - Justification (^J) and unjustification (^U). - Internationalization (more translations are welcome). - Help texts (^G). - Resizing in X. - On PageUp/Down, the cursor is put on the first screen line (like Pico). - Tab completion at the prompt (for filenames and ~user). - Cut-to-end-of-line option (-k).