nano

nano with my custom patches
git clone git://bsandro.tech/nano
Log | Files | Refs | README | LICENSE

IMPROVEMENTS (12203B)


      1 Improvements in GNU nano
      2 ========================
      3 
      4 Since 8.0:
      5   - To accommodate newcomers, ^F now starts a forward search.
      6   - Option --modernbindings makes ^Q quit, ^X cut, ^C copy, ^V paste,
      7     ^Z undo, ^Y redo, ^O open a file, and ^G find again, among others.
      8   - M-Home/M-End put the cursor on the first/last row in the viewport.
      9   - With `nano filename:number` the given file will be opened with the
     10     cursor on the given line number (when 'set colonparsing' is used).
     11   - Option --listsyntaxes lists the names of available syntaxes.
     12   - Anchors are saved and restored (when --positionlog is active).
     13   - Key combos ^O^Q and ^X^Q cause an exit status of 2.
     14 
     15 Since 7.0:
     16   - String binds may contain bindable function names between braces.
     17   - Word completion looks for candidates in all open buffers.
     18   - Unicode codes can be entered without leading zeroes.
     19 
     20 Since 6.0:
     21   - Option --zero hides the interface and uses the whole terminal for editing.
     22   - Colors can be given also in #rgb hexadecimal, to select the nearest color
     23     from the 6x6x6 color-cube palette available on 256-color terminals.
     24   - Fourteen new color names are available, from rosy to crimson.
     25 
     26 Since 5.0:
     27   - A search briefly spotlights the found text, in black on yellow by default.
     28   - Option --minibar reduces the interface to a bottom bar with basic info.
     29   - The cursor skips over combining characters, <Del> deletes them together
     30     with the character they combine with, but <Bsp> deletes them separately.
     31   - For using libmagic the option --magic or -! or 'set magic' is required.
     32   - With --stateflags the state of some things is shown in the title bar.
     33   - M-Bsp deletes a word leftward.
     34   - With --indicator a "scrollbar" is shown, indicating position+portion.
     35   - M-Ins places an anchor, M-PgUp/M-PgDn jump to the nearest anchor.
     36   - Toggling help lines (M-X) and Refresh (^L) work nearly everywhere.
     37   - Colors can be modified with the attributes "bold," and/or "italic,".
     38   - Nine new color names: from pink and purple to orange and latte.
     39 
     40 Since 4.0:
     41   - Pasting from outside into nano suppresses auto-indentation.
     42   - Such an external paste can be undone with a single M-U.
     43   - Shift+Meta+letter key combos can be bound with 'bind Sh-M-letter ...'.
     44   - A custom nanorc file may be specified with -f / --rcfile.
     45   - What the <Tab> key produces can be specified per syntax with 'tabgives'.
     46   - The ability to perform a search at startup with +/string or +?string.
     47   - Comment characters are copied when automatic hard-wrapping occurs.
     48   - The ability to both read from and write to a FIFO.
     49   - Automatic hard-wrapping is no longer the default.
     50   - Addition of --guidestripe to draw a helpful vertical bar.
     51   - Meta-Up and Meta-Down scroll the screen linewise.
     52   - Continuation is shown with a highlighted ">" instead of a plain "$".
     53   - A marked region gets justified into a single, separate paragraph.
     54   - Any number of justifications can be undone.
     55 
     56 Since 3.0:
     57   - Addition of --zap to make <Del> and <Bsp> obliterate marked text.
     58   - <Ctrl+Delete> wipes next word and <Shift+Ctrl+Delete> preceding word.
     59   - An external spell check can be undone.
     60 
     61 Since 2.9.0:
     62   - The ability to filter text through an external command.
     63   - Better detection of paragraphs, allowing a less indented beginning.
     64   - Option 'set afterends' for making Ctrl+Right stop at word ends.
     65   - A crash handler that saves changed buffers in case of a crash.
     66   - Addition of the color name "normal", meaning the default color.
     67   - A key can be bound to a string -- any mix of text and control codes.
     68   - Error messages are shown by default in bright white on red.
     69   - <Tab> and <Shift+Tab> can be used to indent/unindent a marked region.
     70   - Can snip trailing whitespace while typing, with 'set trimblanks'.
     71   - The ability to record and replay a series of keystrokes (a macro).
     72   - Assigned functions to ^S (save file) and ^Q (start backward search).
     73   - Indenting and unindenting have been integrated into the undo system.
     74   - Support for $XDG_CONFIG_HOME for the nanorc file, and $XDG_DATA_HOME
     75     for the history files (of search strings and cursor positions).
     76 
     77 Since 2.8.0:
     78   - ^U pastes the first line of the cutbuffer at a prompt.
     79   - Softwrapping can be done at whitespace (with --soft --atblanks).
     80   - The ^G help texts have become searchable (with ^W and M-W).
     81   - Ctrl+Home and Ctrl+End jump to start and end of file.
     82   - In softwrap mode the cursor now moves per visual row instead of
     83     per logical line, and the screen will scroll per row.
     84 
     85 Since 2.7.0:
     86   - The keystroke ^] to complete a fragment to an existing full word.
     87   - The ability to display line numbers in front of the text (M-#).
     88 
     89 Since 2.6.0:
     90   - Shift plus the cursor keys can be used for selecting text.
     91   - Ctrl+Arrow should now work also on a Linux virtual console.
     92   - Ctrl+Up and Ctrl+Down jump to previous or next block of text.
     93   - Feedback during Unicode Input (M-V followed by six digits).
     94   - The option 'wordchars' for specifying extra word characters.
     95   - Hi-bit control characters are shown in a more readable manner.
     96   - The ability to use negative numbers at the Go To Line prompt.
     97   - The ability to comment/uncomment lines with a single keystroke (M-3).
     98   - The ability to refresh the file list in the browser (^L).
     99   - The ability to abort re-searches (^C after an M-W).
    100   - Better feedback at startup when opening large or multiple files.
    101 
    102 Since 2.5.0:
    103   - The option 'justifytrim' for snipping whitespace from justified lines.
    104   - The ability to discard a buffer (^O ^Q) when --tempfile is used.
    105   - On most terminals Ctrl+Left / Ctrl+Right now work for PrevWord/NextWord.
    106   - When in the middle of a word, PrevWord now jumps to the start of this
    107     word (like Pico does) instead of to the start of the preceding word.
    108   - The ability to delete whole words with 'cutwordleft' and 'cutwordright'.
    109   - The ability to save a file without prompting for its name ('savefile').
    110   - The ability to search backward without having to toggle the direction.
    111 
    112 Since 2.4.0:
    113   - Replacing things in a marked region now takes place in situ, in context,
    114     instead of changing the view to only the marked text.
    115   - Invalid byte sequences are properly displayed and not mistakenly found.
    116   - Resizing the window does not exit from help viewer nor file browser.
    117 
    118 Since 2.3.0:
    119   - System syntaxes can be improved upon with the 'extendsyntax' command.
    120   - Whitespace display (M-P) does not require configuration to be useful.
    121   - Undo/redo is enabled by default (M-U/M-E) and works nearly everywhere
    122     -- just not yet for justifying and indenting/unindenting.
    123   - The ability to color the title bar, the status bar and the help lines.
    124   - The ability to run a linter or formatter (^T) on the current buffer.
    125   - The ability to only write to named pipes with --noread.
    126   - Determination of the applicable syntax through libmagic -- when the
    127     file extension nor the first line give an answer.
    128   - The option 'positionlog' for saving/restoring the cursor position.
    129   - The ability to read and write vim-style lock files.
    130 
    131 Since 2.0.0:
    132   - The ability to rebind keys, via a nanorc file.
    133   - The ability to read standard input like a pager ("nano -").
    134   - Color syntax highlighting can be set by the first line of a file.
    135   - The ability to silence nanorc error messages (-q).
    136   - Undo/redo operations (M-U/M-E, enabled with -u).
    137   - Soft wrapping of text (-$).
    138   - Better handling of backup files: if nano can't write a backup file,
    139     it won't try to write the original file afterward.
    140   - Emergency savefiles retain ownerships and permissions when possible.
    141   - Performance improvements in color syntax highlighting.
    142 
    143 Since 1.2.0:
    144   - Support for UTF-8.
    145   - Moving to a specified line and column of a file, instead of just a
    146     line (+LINE,COLUMN).
    147   - Smart home key (-A).
    148   - Creation of unique backup files in a specified directory (-C <dir>).
    149   - Insertion of spaces instead of a tab when Tab is pressed (-E).
    150   - The long option for -K is now --rebindkeypad.
    151   - Regular expression searching can now be toggled when nano is built
    152     with --enable-tiny, so -R now means something else (see next item).
    153   - Restricted mode that provides more security than -o (-R).
    154   - Blanking of the statusbar after 1 keystroke instead of 25 (-U).
    155   - Word searches can optionally skip over punctuation (-W).
    156   - Workaround for Delete's acting like Backspace (-d).
    157   - Many more options are supported in the nanorc.
    158   - Improvements to color syntax highlighting support: case insensitive
    159     matching, the ability to include color syntaxes in separate files,
    160     the ability to specify background colors without foreground colors...
    161   - Insertion of single-byte characters via Esc Esc <000-255>.
    162   - Insertion of any character via Meta-V, "Verbatim Input".
    163   - Workaround for the "NumLock glitch".
    164   - Meta-W now repeats the last search.  Wrapping is toggled via Meta-L.
    165   - Replacing and spell checking only selected text.
    166   - Indenting lines with one keystroke.
    167   - Copying text into the cutbuffer without cutting it.
    168   - Scrolling the text up and down single lines without moving the cursor.
    169   - PageUp and PageDown work more smoothly when using -S.
    170   - Scrolling the help text up and down single lines.
    171   - Cutting all text from the current position to the end of the file
    172     with one keystroke (Meta-T).
    173   - Justifying the entire file with one keystroke (Meta-J).
    174   - Justifying without removing spaces from the ends of lines.
    175   - Unjustifying after justifying and immediately resizing.
    176   - Going to the first or last line of the current paragraph.
    177   - Going to the first or last line of the file without having to go to
    178     the "Search" prompt.
    179   - Searching for filenames in the file browser.
    180   - Spaces and tabs are shown differently to make it easier to tell them apart.
    181   - Many more functions are available at the prompt: moving to the next or
    182     previous word, searching for matching brackets, "Verbatim Input"...
    183   - "To Line" (^W^T) and "Read from Command" (^R^X) return to their parent
    184     menu when their keystroke is entered again (^W^T^T and ^R^X^X).
    185   - Automatic adding of newlines to the ends of files without them can
    186     now be disabled (-L).
    187   - Converting from and to DOS/Mac file format is now toggled only at the
    188     "Write File" prompt, via Meta-D and Meta-M, and the default file format
    189     to save in is now set depending on what format the file was originally
    190     in.  -D now makes nano use bold text instead of reverse video text,
    191     and Meta-D at the edit window now does a word/line/character count.
    192     -O now makes the unused second line of the screen part of the edit
    193     window, and Meta-O now toggles this behavior while editing.
    194   - Converting files that contain a mix of DOS and Mac format lines.
    195   - Automatic switching on of -N with binary files has been removed, as
    196     it causes problems with UTF-8 support.
    197 
    198 Since 1.0
    199   - Complete Pico compatibility (option --pico has been removed,
    200     and -p now means something else, see below).
    201   - Support for nanorc files.
    202   - Smooth scrolling (-S).
    203   - Jumping to the matching brace, bracket, etc.
    204   - Help for all editor features.
    205   - Color syntax highlighting support.
    206   - Quote string support, useful for mail agents, etc. (-Q).
    207   - Insertion of output of external commands.
    208   - Optional enabling of XON and XOFF control characters (-p).
    209   - Option -o (--operatingdir) implements a chroot of sorts.
    210   - Mouse support (-m) also allows clicking on shortcuts.
    211   - Option -r allows a negative argument.
    212   - Overwriting and appending or prepending to files.
    213   - Writing marked text to separate files.
    214   - Multiple file buffers (-F).
    215   - Converting from and to DOS/Mac file format (-D/-M, -N to disable).
    216   - Better control character handling.
    217   - Creation of backup files (-B).
    218   - Search/replace history (-H).
    219 
    220 Available in 1.0:
    221   - Spell checking (^T).
    222   - Justification (^J) and unjustification (^U).
    223   - Internationalization (more translations are welcome).
    224   - Help texts (^G).
    225   - Resizing in X.
    226   - On PageUp/Down, the cursor is put on the first screen line (like Pico).
    227   - Tab completion at the prompt (for filenames and ~user).
    228   - Cut-to-end-of-line option (-k).