Provided by: nano_8.4-1_amd64 bug

NAME

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

SYNOPSIS

       nano [options] [[+line[,column]] file]...

       nano [options] [[+[crCR]{/|?}string] file]...

NOTICE

       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 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

DESCRIPTION

       nano is a small and friendly text editor.  It copies the look and feel of Pico, but is free software, and
       implements several 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.

EDITING

       Entering  text  and  moving  around in a file is 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 — 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).   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 (~).

       -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  —  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 — 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.

       -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/Mac 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.

       -Q "regex", --quotestr="regex"
              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
              Restricted  mode:  don't read or write to any file not specified on the command line.  This means:
              don't read or write history files; don't allow suspending; don't allow spell checking; don't allow
              a file to be appended to, prepended to, or saved under a different name if it already has one; and
              don't make backup files.  Restricted mode can also be activated by invoking  nano  with  any  name
              beginning with 'r' (e.g. "rnano").

       -S, --softwrap
              Display  over multiple screen rows lines that exceed the screen's width.  (You can make this soft-
              wrapping occur at whitespace 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="characters"
              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.  (This option is  the  opposite
              of -w (--nowrap) -- the last one given takes effect.)

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

       -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 "file".  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
              Set the operating directory.  This makes nano set up something similar to a chroot.

       -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 "scrollbar" 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) — the last one given takes effect.)

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

       -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 "mini bar" 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  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.

       -/, --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, ^R makes
              replacements, ^D searches previous, ^P shows the position, ^T goes to a  line,  ^W  writes  out  a
              file, and ^E executes a command.  Note that this 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 the specified file for setting its options and syntaxes  and  key
       bindings.   Without  that  option,  nano  reads two configuration files: first the system's nanorc (if it
       exists), and then the user's nanorc (if it exists), either ~/.nanorc or  $XDG_CONFIG_HOME/nano/nanorc  or
       ~/.config/nano/nanorc,  whichever  is  encountered  first.   See  nanorc(5)  for  more information on the
       possible contents of those files.

       See /usr/share/nano/ and /usr/share/nano/extra/ for available syntax-coloring definitions.

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".  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  (e.g.
       ".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/

SEE ALSO

       nanorc(5)

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

April 2025                                         version 8.4                                           NANO(1)