packages icon



 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



 NAME
      nano - Nano's ANOther text editor, inspired by Pico


 SYNOPSIS
      nano [options] [[+line[,column

      nano [options] [[+[


 DESCRIPTION
      nano is a small and friendly text editor.  It copies the look and feel
      of Pico, but is free software, and implements a few features that Pico
      lacks, such as: opening multiple files, scrolling per line, undo/redo,
      syntax coloring, line numbering, and soft-wrapping overlong lines.

      When giving a filename on the command line, the cursor can be put on a
      specific line by adding the line number with a plus sign (+) before
      the filename, and even in a specific column by adding it with a comma.
      Negative numbers count from the end of the file or line.

      The cursor can be put on the first or last occurrence of a specific
      string by specifying that string after +/ or +? before the filename.
      The string can be made case sensitive and/or caused to be interpreted
      as a regular expression by inserting c and/or r after the + sign.
      These search modes can be explicitly disabled by using the uppercase
      variant of those letters: C and/or R.  When the string contains
      spaces, it needs to be enclosed in quotes.  To give an example: to
      open a file at the first occurrence of the word "Foo", you would do:

          nano +c/Foo file

      As a special case: if instead of a filename a dash (-) is given, nano
      will read data from standard input.


 NOTICES
      Since version 9.0, all lines are scrolled horizontally together (when
      the cursor approaches the edge), by just the amount needed, instead of
      scrolling only the current line by a large step.  If you prefer the
      old behavior, you can use --solo on the command line or set
      solosidescroll in your nanorc.

      Also since version 9.0, keystrokes M-< and M-> have been reassigned to
      the scrollleft and scrollright functions.  If you want those
      keystrokes to do what they did before version 9.0, add these two lines
      at the end of your nanorc file:

          bind M-< prevbuf main
          bind M-> nextbuf main




                                    - 1 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



      Since version 8.0, to be newcomer friendly, ^F starts a forward
      search, ^B starts a backward search, M-F searches the next occurrence
      forward, and M-B searches the next occurrence backward.  If you want
      those keystrokes to do what they did before version 8.0, add the
      following four lines at the end of your nanorc file:

          bind ^F forward main
          bind ^B back main
          bind M-F formatter main
          bind M-B linter main



 EDITING
      Entering text and moving around in a file are straightforward: typing
      the letters and using the normal cursor movement keys.  Commands are
      entered by using the Control (^) and the Alt or Meta (M-) keys.
      Typing ^K deletes the current line and puts it in the cutbuffer.
      Consecutive ^Ks put all deleted lines together in the cutbuffer.  Any
      cursor movement or executing any other command causes the next ^K to
      overwrite the cutbuffer.  A ^U pastes the current contents of the
      cutbuffer at the current cursor position.

      When a more precise piece of text needs to be cut or copied, you can
      mark its start with ^6, move the cursor to its end (the marked text is
      highlighted), and then use ^K to cut it, or M-6 to copy it to the
      cutbuffer.  You can also save the marked text to a file with ^O, or
      spell check it with ^T^T.

      On some terminals, text can be selected also by holding down Shift
      while using the arrow keys.  Holding down the Ctrl or Alt key too
      increases the stride.  Any cursor movement without Shift being held
      cancels such a selection.

      Any valid Unicode code point can be inserted into the buffer by typing
      M-V followed by the hexadecimal digits of the code point (concluded
      with <Space> or <Enter> when it are fewer than six digits).  A literal
      control code (except ^J) can be inserted by typing M-V followed by the
      pertinent keystroke.

      The two lines at the bottom of the screen show some important
      commands; the built-in help (^G) lists all the available ones.  The
      default key bindings can be changed via a nanorc file [em] see
      nanorc(5).


 OPTIONS
      -A, --smarthome
           Make the Home key smarter.  When Home is pressed anywhere but at
           the very beginning of non-whitespace characters on a line, the
           cursor jumps to that beginning (either forwards or backwards).



                                    - 2 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



           If the cursor is already at that position, it jumps to the true
           beginning of the line.

      -B, --backup
           When saving a file, back up the previous version of it, using the
           current filename suffixed with a tilde ([ti]).

      -C directory, --backupdir=directory
           Make and keep not just one backup file, but make and keep a
           uniquely numbered one every time a file is saved [em] when
           backups are enabled (-B).  The uniquely numbered files are stored
           in the specified directory.

      -D, --boldtext
           For the interface, use bold instead of reverse video.  This can
           be overridden for specific elements by setting the options
           titlecolor, statuscolor, promptcolor, minicolor, keycolor,
           numbercolor, and/or selectedcolor in your nanorc file.  See
           nanorc(5).

      -E, --tabstospaces
           Convert each typed tab to spaces [em] to the number of spaces
           that a tab at that position would take up.  (Note: pasted tabs
           are not converted.)

      -F, --multibuffer
           Read a file into a new buffer by default.

      -G, --locking
           Use vim-style file locking when editing files.

      -H, --historylog
           Save the last hundred search strings and replacement strings and
           executed commands, so they can be easily reused in later
           sessions.

      -I, --ignorercfiles
           Don't look at the system's nanorc nor at the user's nanorc.

      -J number, --guidestripe=number
           Draw a vertical stripe at the given column, to help judge the
           width of the text.  (The color of the stripe can be changed with
           set stripecolor in your nanorc file.)

      -K, --rawsequences
           Interpret escape sequences directly, instead of asking ncurses to
           translate them.  (If you need this option to get some keys to
           work properly, it means that the terminfo terminal description
           that is used does not fully match the actual behavior of your
           terminal.  This can happen when you ssh into a BSD machine, for
           example.) Using this option disables nano's mouse support.



                                    - 3 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



      -L, --nonewlines
           Don't automatically add a newline when a text does not end with
           one.  (This can cause you to save non-POSIX text files.)

      -M, --trimblanks
           Snip trailing whitespace from the wrapped line when automatic
           hard-wrapping occurs or when text is justified.

      -N, --noconvert
           Disable automatic conversion of files from DOS format.

      -O, --bookstyle
           When justifying, treat any line that starts with whitespace as
           the beginning of a paragraph (unless auto-indenting is on).

      -P, --positionlog
           For the 200 most recent files, log the last position of the
           cursor, and place it at that position again upon reopening such a
           file.  Also save and restore the positions of any anchors.

      -Q  regex,--quotestr=
           Set the regular expression for matching the quoting part of a
           line.  The default value is "^([ \t]*([!#%:;>|}]|//))+".  (Note
           that \t stands for an actual Tab.) This makes it possible to
           rejustify blocks of quoted text when composing email, and to
           rewrap blocks of line comments when writing source code.

      -R, --restricted
           Read and write only the file (or files) specified on the command
           line.  This means: don't read or write the history files; don't
           allow suspending; don't allow spell checking; don't allow
           executing any command in the shell; don't allow the current
           buffer to be saved under a different name; don't allow appending
           or prepending to any file; and don't make backup files.

           As an exception, before the specified file or files, the nanorc
           files are read, to allow customization.  If customization should
           not be allowed, use option -I (--ignorercfiles) as well.

           When no file is specified on the command line, restricted mode
           allows you to save the contents that you type into the new buffer
           under any name, except that existing files may not be
           overwritten.  If the places where this new file may be created
           should be limited, then use option -o (--operatingdir) as well.

           Restricted mode can also be activated by invoking nano with a
           name beginning with 'r' (for example: rnano).

      -S, --softwrap
           Display over multiple screen rows lines that exceed the screen's
           width.  (You can make this soft-wrapping occur at whitespace



                                    - 4 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



           instead of rudely at the screen's edge, by using also ---
           atblanks.)

      -T number, --tabsize=number
           Set the size (width) of a tab to number columns.  The value of
           number must be greater than 0.  The default value is 8.

      -U, --quickblank
           Make status-bar messages disappear after 1 keystroke instead of
           after 20.  Note that option -c (--constantshow) overrides this.
           When option --minibar or --zero is in effect, --quickblank makes
           a message disappear after 0.8 seconds instead of after the
           default 1.5 seconds.

      -V, --version
           Show the current version number and exit.

      -W, --wordbounds
           Detect word boundaries differently by treating punctuation
           characters as part of a word.

      -X  characters,--wordchars=
           Specify which other characters (besides the normal alphanumeric
           ones) should be considered as part of a word.  When using this
           option, you probably want to omit -W (--wordbounds).

      -Y name, --syntax=name
           Specify the name of the syntax highlighting to use from among the
           ones defined in the nanorc files.

      -Z, --zap
           Let an unmodified Backspace or Delete erase the marked region
           (instead of a single character, and without affecting the
           cutbuffer).

      -a, --atblanks
           When doing soft line wrapping, wrap lines at whitespace instead
           of always at the edge of the screen.

      -b, --breaklonglines
           Automatically hard-wrap the current line when it becomes
           overlong, that is: when it becomes wider than the value given
           with -r (--fill).  The default value for -r is the terminal's
           width minus eight.  (This option is the opposite of -w (--nowrap)
           [em] the last one given takes effect.)

      -c, --constantshow
           Constantly report the cursor position on the status bar.  Note
           that this overrides option -U (--quickblank).





                                    - 5 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



      -d, --rebinddelete
           Interpret the Delete and Backspace keys differently so that both
           Backspace and Delete work properly.  You should only use this
           option when on your system either Backspace acts like Delete or
           Delete acts like Backspace.

      -e, --emptyline
           Do not use the line below the title bar, leaving it entirely
           blank.

      -f file, --rcfile=file
           Read only this file for setting nano's options, instead of
           reading both the system-wide and the user's nanorc files.

      -g, --showcursor
           Make the cursor visible in the file browser (putting it on the
           highlighted item) and in the help viewer.  Useful for braille
           users and people with poor vision.

      -h, --help
           Show a summary of the available command-line options and exit.

      -i, --autoindent
           Automatically indent a newly created line to the same number of
           tabs and/or spaces as the previous line (or as the next line if
           the previous line is the beginning of a paragraph).

      -j, --jumpyscrolling
           Scroll the buffer contents per half-screen instead of per line.

      -k, --cutfromcursor
           Make the 'Cut Text' command (normally ^K) cut from the current
           cursor position to the end of the line, instead of cutting the
           entire line.

      -l, --linenumbers
           Display line numbers to the left of the text area.  (Any line
           with an anchor additionally gets a mark in the margin.)

      -m, --mouse
           Enable mouse support, if available for your system.  When
           enabled, mouse clicks can be used to place the cursor, set the
           mark (with a double click), and execute shortcuts.  The mouse
           works in the X Window System, and on the console when gpm is
           running.  Text can still be selected through dragging by holding
           down the Shift key.

      -n, --noread
           Treat any name given on the command line as a new file.  This
           allows nano to write to named pipes: it starts with a blank
           buffer, and writes to the pipe when the user saves the



                                    - 6 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



           [lq]file[rq].  This way nano can be used as an editor in
           combination with for instance gpg without having to write
           sensitive data to disk first.

      -o directory, --operatingdir=directory
           Change to the given directory, and allow reading and writing
           files only in this directory and its subdirectories.

      -p, --preserve
           Preserve the XOFF and XON sequences (^S and ^Q) so that they are
           caught by the terminal (stopping and resuming the output).  Note
           that option -/ (--modernbindings) overrides this.

      -q, --indicator
           Display a [lq]scrollbar[rq] on the righthand side of the edit
           window.  It shows the position of the viewport in the buffer and
           how much of the buffer is covered by the viewport.

      -r number, --fill=number
           Set the target width for justifying and automatic hard-wrapping
           at this number of columns.  If the value is 0 or less, wrapping
           occurs at the width of the screen minus number columns, allowing
           the wrap point to vary along with the width of the screen if the
           screen is resized.  The default value is -8.

      -s "program [argument ...]", --speller="program [argument ...]"
           Use this command to perform spell checking and correcting,
           instead of using the built-in corrector that calls hunspell(1) or
           spell(1).

      -t, --saveonexit
           Save a changed buffer without prompting (when exiting with ^X).

      -u, --unix
           Save a file by default in Unix format.  This overrides nano's
           default behavior of saving a file in the format that it had.
           (This option has no effect when you also use --noconvert.)

      -v, --view
           Just view the file and disallow editing: read-only mode.  This
           mode allows the user to open also other files for viewing, unless
           --restricted is given too.

      -w, --nowrap
           Do not automatically hard-wrap the current line when it becomes
           overlong.  This is the default.  (This option is the opposite of
           -b (--breaklonglines) [em] the last one given takes effect.)

      -x, --nohelp
           Don't show the two help lines at the bottom of the screen.




                                    - 7 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



      -y, --afterends
           Make Ctrl+Right and Ctrl+Delete stop at word ends instead of
           beginnings.

      -z, --listsyntaxes
           List the names of the available syntaxes and exit.

      -!, --magic
           When neither the file's name nor its first line give a clue, try
           using libmagic to determine the applicable syntax.

      -@, --colonparsing
           When a filename given on the command line ends in a colon plus
           digits and this filename does not exist, then snip the colon plus
           digits and understand the digits as a line number.  If the
           trimmed filename does not exist either, then repeat the process
           and understand the obtained two numbers as line and column
           number.  But if the doubly trimmed filename does not exist
           either, then forget the trimming and accept the original filename
           as is.  To disable this colon parsing for some file, use +1 or
           similar before the relevant filename.

      -%, --stateflags
           Use the top-right corner of the screen for showing some state
           flags: I when auto-indenting, M when the mark is on, L when
           hard-wrapping (breaking long lines), R when recording a macro,
           and S when soft-wrapping.  When the buffer is modified, a star
           (*) is shown after the filename in the center of the title bar.

      -_, --minibar
           Suppress the title bar and instead show information about the
           current buffer at the bottom of the screen, in the space for the
           status bar.  In this [lq]mini bar[rq] the filename is shown on
           the left, followed by an asterisk if the buffer has been
           modified.  On the right are displayed the current line and column
           number, the code of the character under the cursor (in Unicode
           format: U+xxxx), the same flags as are shown by --stateflags, and
           a percentage that expresses how far the cursor is into the file
           (linewise).  When a file is loaded or saved, and also when
           switching between buffers, the number of lines in the buffer is
           displayed after the filename.  This number is cleared upon the
           next keystroke, or replaced with an [i/n] counter when multiple
           buffers are open.  The line plus column numbers and the character
           code are displayed only when --constantshow is used, and can be
           toggled on and off with M-C.  The state flags are displayed only
           when --stateflags is used.

      -0, --zero
           Hide all elements of the interface (title bar, status bar, and
           help lines) and use all rows of the terminal for showing the
           contents of the buffer.  The status bar appears only when there



                                    - 8 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



           is a significant message, and disappears after 1.5 seconds or
           upon the next keystroke.  With M-Z the title bar plus status bar
           can be toggled.  With M-X the help lines.

      -1, --solosidescroll
           When the cursor approaches the right edge of the edit window,
           scroll only the current line sideways by a large amount, instead
           of scrolling all visible lines sideways by just the amount needed
           to keep the cursor in view.  This latter whole-window smooth
           sideways scrolling is the new default behavior.  The single-line
           jerky sideways scrolling enabled by this option was the old
           behavior [em] the only behavior that nano knew.

      -/, --modernbindings
           Use key bindings similar to the ones that most modern programs
           use: ^X cuts, ^C copies, ^V pastes, ^Z undoes, ^Y redoes, ^F
           searches forward, ^G searches next, ^S saves, ^O opens a file, ^Q
           quits, and (when the terminal permits) ^H shows help.
           Furthermore, ^A sets the mark, ^B searches backward, ^D searches
           previous, ^R makes replacements, ^P shows the position, ^T goes
           to a line, ^W writes out a file, and ^E executes a command.  Note
           that this option overrides option -p (--preserve).


 TOGGLES
      Several of the above options can be switched on and off also while
      nano is running.  For example, M-L toggles the hard-wrapping of long
      lines, M-S toggles soft-wrapping, M-N toggles line numbers, M-M
      toggles the mouse, M-I auto-indentation, and M-X the help lines.  See
      at the end of the ^G help text for a complete list.

      The M-X toggle is special: it works in all menus except the help
      viewer and the linter.  All other toggles work in the main menu only.


 FILES
      When --rcfile is given, nano reads just textra/cforeavailablersyntax-g
      coloringodefinitions.orc,awhichevernnano/counteredtfirst.opSeen, nano
      nanorc(5) fornmoreainformationshare/etpossiblercontentscofithose
      files.config/thnano/eande/usr/anonano/f it exists), either
 EXIT STATUSnanshare/ $XDG_CONFIG_HOME/
      See /usr/



                                    - 9 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



      0    The editor finished normally.

      1    An invalid option or option argument was given.

      2    The last open buffer was discarded (with ^O^Q or ^X^Q).


 NOTES
      Suspension is enabled by default, reachable via ^T^Z.  (If you want a
      plain ^Z to suspend nano, add bind ^Z suspend main to your nanorc.)

      At a Yes-No prompt, ^Y can be used for "Yes", ^N for "No", and ^A for
      "All".  (And when exiting, ^Q can be used for "Quit with error".)
      These unlisted bindings work in any locale.

      When you want to copy marked text from nano to the system's clipboard,
      see one of the examples in the nanorc(5) man page.

      If no alternative spell checker command is specified on the command
      line nor in one of the nanorc files, nano checks the SPELL environment
      variable for one.

      In some cases nano tries to dump the buffer into an emergency file.
      This happens mainly if nano receives a SIGHUP or SIGTERM or runs out
      of memory.  It writes the buffer into a file named nano.save if the
      buffer didn't have a name already, or adds a ".save" suffix to the
      current filename.  If an emergency file with that name already exists
      in the current directory, it adds ".save" plus a number (for example:
      ".save.1") to the current filename in order to make it unique.  In
      multibuffer mode, nano writes all open buffers to their respective
      emergency files.

      If you have any question about how to use nano in some specific
      situation, you can ask on help-nano@gnu.org.


 BUGS
      The recording and playback of keyboard macros works correctly only on
      a terminal emulator, not on a Linux console (VT), because the latter
      does not by default distinguish modified from unmodified arrow keys.

      Please report any other bugs that you encounter via:
      https://savannah.gnu.org/bugs/?group=nano.

      When nano crashes, it saves any modified buffers to emergency .save
      files.  If you are able to reproduce the crash and you want to get a
      backtrace, define the environment variable NANO_NOCATCH.


 HOMEPAGE
      https://nano-editor.org/



                                   - 10 -          Formatted:  June 24, 2026






 NANO(1)                        GNU nano 9.1                         NANO(1)
                                  June 2026



 SEE ALSO
      nanorc(5)

      /usr/share/doc/nano/ (or equivalent on your system)


















































                                   - 11 -          Formatted:  June 24, 2026