dwww Home | Manual pages | Find package

NANORC(5)                     File Formats Manual                     NANORC(5)

NAME
       nanorc - GNU nano's configuration file

DESCRIPTION
       The  nanorc  files  contain  the  default settings for nano, a small and
       friendly text editor.  During startup, if --rcfile is  not  given,  nano
       reads  two  files: first the system-wide settings, from /etc/nanorc (the
       exact path might be different on your system), and  then  the  user-spe-
       cific    settings,    either    from   ~/.nanorc   or   from   $XDG_CON-
       FIG_HOME/nano/nanorc or from ~/.config/nano/nanorc, whichever is encoun-
       tered first.  If --rcfile is given, nano reads just the  specified  set-
       tings 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 key-
       strokes 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

OPTIONS
       The configuration file accepts a series of set and unset commands, which
       can  be used to configure nano on startup without using command-line op-
       tions.  Additionally, there are some commands  to  define  syntax  high-
       lighting  and  to  rebind keys — see the two separate sections on those.
       nano reads one command per line.  All commands and  keywords  should  be
       written in lowercase.

       Options  in  nanorc files take precedence over nano's defaults, and com-
       mand-line options override nanorc settings.  Also, options that  do  not
       take  an  argument  are unset by default.  So using the unset command is
       only needed when wanting to override a setting of  the  system's  nanorc
       file in your own nanorc.  Options that take an argument cannot be unset.

       Quotes  inside  the  characters  parameters below should not be escaped.
       The last double quote on the line will be seen as the closing quote.

       The supported commands and arguments are:

       set afterends
          Make Ctrl+Right and Ctrl+Delete stop at word ends instead  of  begin-
          nings.

       set allow_insecure_backup
          When  backing  up files, allow the backup to succeed even if its per-
          missions can't be (re)set due  to  special  OS  considerations.   You
          should NOT enable this option unless you are sure you need it.

       set atblanks
          When soft line wrapping is enabled, make it wrap lines at blank char-
          acters (tabs and spaces) instead of always at the edge of the screen.

       set 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 previ-
          ous line is the beginning of a paragraph).

       set backup
          When saving a file, create a backup file by adding a tilde (~) to the
          file's name.

       set 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
          with set backup or --backup or -B.  The uniquely numbered  files  are
          stored in the specified directory.

       set boldtext
          Use  bold  instead  of  reverse  video for the title bar, status bar,
          prompt bar, mini bar, key combos, line numbers,  and  selected  text.
          This   can   be   overridden   by  setting  the  options  titlecolor,
          statuscolor, promptcolor, minicolor,  keycolor,  numbercolor,  and/or
          selectedcolor.

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

       set brackets "characters"
          Set the characters treated as closing brackets when justifying  para-
          graphs.  This may not include blank characters.  Only closing punctu-
          ation  (see  set punct), optionally followed by the specified closing
          brackets, can end sentences.  The default value is ""')>]}".

       set breaklonglines
          Automatically hard-wrap the current line when it becomes overlong.

       set casesensitive
          Do case-sensitive searches by default.

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

       set constantshow
          Constantly  report the cursor position on the status bar.  This over-
          rides the option quickblank.

       set cutfromcursor
          Use cut-from-cursor-to-end-of-line by default, instead of cutting the
          whole line.

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

       set errorcolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for the status bar when an  error  message
          is   displayed.   The  default  value  is  bold,white,red.   See  set
          titlecolor for valid color names.

       set 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 re-
          sized.  The default value is -8.

       set functioncolor [bold,][italic,]fgcolor,bgcolor
          Use  this  color combination for the concise function descriptions in
          the two help lines at the bottom of the screen.  See  set  titlecolor
          for more details.

       set 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.)

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

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

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

       set keycolor [bold,][italic,]fgcolor,bgcolor
          Use  this  color  combination  for the shortcut key combos in the two
          help lines at the bottom of the screen.  See set titlecolor for  more
          details.

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

       set locking
          Enable vim-style lock-files for when editing files.

       set magic
          When  neither the file's name nor its first line give a clue, try us-
          ing libmagic to determine the applicable syntax.   (Calling  libmagic
          can  be  relatively  time consuming.  It is therefore not done by de-
          fault.)

       set matchbrackets "characters"
          Specify the opening and closing brackets that can be found by bracket
          searches.  This may not include blank characters.   The  opening  set
          must  come  before  the  closing set, and the two sets must be in the
          same order.  The default value is "(<[{)>]}".

       set 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 set 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 set constantshow is used, and can be
          toggled on and off with M-C.  The state flags are displayed only when
          set stateflags is used.

       set minicolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for the mini bar.  (When  this  option  is
          not  specified,  the  colors  of  the  title  bar are used.)  See set
          titlecolor for more details.

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

       set multibuffer
          When  reading  in  a file with ^R, insert it into a new buffer by de-
          fault.

       set noconvert
          Don't convert files from DOS/Mac format.

       set nohelp
          Don't display the two help lines at the bottom of the screen.

       set 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.)

       set nowrap
          Deprecated  option  since  it  has  become the default setting.  When
          needed, use unset breaklonglines instead.

       set numbercolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for line numbers.  See set titlecolor  for
          more details.

       set operatingdir directory
          nano only reads and writes files inside directory and its subdirecto-
          ries.   Also,  the current directory is changed to here, so files are
          inserted from this directory.  By default,  the  operating  directory
          feature is turned off.

       set positionlog
          Save the cursor position of files between editing sessions.  The cur-
          sor position is remembered for the 200 most-recently edited files.

       set preserve
          Preserve  the  XOFF  and  XON  sequences (^S and ^Q) so that they are
          caught by the terminal (stopping and resuming the output).

       set promptcolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for the prompt bar.  (When this option  is
          not  specified,  the  colors  of  the  title  bar are used.)  See set
          titlecolor for more details.

       set punct "characters"
          Set the characters treated as  closing  punctuation  when  justifying
          paragraphs.   This may not include blank characters.  Only the speci-
          fied closing punctuation, optionally  followed  by  closing  brackets
          (see set brackets), can end sentences.  The default value is "!.?".

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

       set 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 character.)  This makes it possible  to  re-
          justify  blocks  of  quoted  text when composing email, and to rewrap
          blocks of line comments when writing source code.

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

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

       set regexp
          Do regular-expression searches by default.   Regular  expressions  in
          nano are of the extended type (ERE).

       set saveonexit
          Save a changed buffer automatically on exit (^X); don't prompt.

       set scrollercolor fgcolor,bgcolor
          Use  this color combination for the indicator alias "scrollbar".  See
          set titlecolor for more details.

       set selectedcolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for selected text.  See set titlecolor for
          more details.

       set showcursor
          Put the cursor on the highlighted item in the file browser, and  show
          the  cursor  in the help viewer, to aid braille users and people with
          poor vision.

       set 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  cur-
          sor  is  already  at that position, it jumps to the true beginning of
          the line.

       set softwrap
          Display lines that exceed the screen's  width  over  multiple  screen
          lines.   (You can make this soft-wrapping occur at whitespace instead
          of rudely at the screen's edge, by using also set atblanks.)

       set speller "program [argument ...]"
          Use the given program to do spell checking and correcting, instead of
          using the built-in corrector that calls hunspell(1) or spell(1).

       set spotlightcolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for highlighting a search match.  The  de-
          fault value is black,lightyellow.  See set titlecolor for valid color
          names.

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

       set statuscolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for the status bar.   See  set  titlecolor
          for more details.

       set stripecolor [bold,][italic,]fgcolor,bgcolor
          Use  this color combination for the vertical guiding stripe.  See set
          titlecolor for more details.

       set tabsize number
          Use a tab size of number  columns.   The  value  of  number  must  be
          greater than 0.  The default value is 8.

       set 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 con-
          verted.)

       set titlecolor [bold,][italic,]fgcolor,bgcolor
          Use this color combination for the title bar.  Valid  names  for  the
          foreground  and  background  colors  are:  red, green, blue, magenta,
          yellow, cyan, white, and black.  Each of these  eight  names  may  be
          prefixed with the word light to get a brighter version of that color.
          The  word grey or gray may be used as a synonym for lightblack.  On a
          Linux console, light does not have any effect for a background color.
          On terminal emulators that can do at least 256  colors,  other  valid
          (but  unprefixable)  color  names  are:  pink, purple, mauve, lagoon,
          mint, lime, peach, orange, latte, rosy, beet, plum, sea, sky,  slate,
          teal,  sage,  brown, ocher, sand, tawny, brick, crimson, and normal —
          where normal means the default foreground or  background  color.   On
          such  emulators,  the  color  may  also be specified as a three-digit
          hexadecimal number prefixed with #, with the digits representing  the
          amounts  of  red,  green, and blue, respectively.  This tells nano to
          select from the available palette the  color  that  approximates  the
          given values.

          Either  "fgcolor"  or ",bgcolor" may be left out, and the pair may be
          preceded by bold and/or italic (separated by commas) to  get  a  bold
          and/or slanting typeface, if your terminal can do those.

       set trimblanks
          Remove  trailing  whitespace  from wrapped lines when automatic hard-
          wrapping occurs or when text is justified.

       set 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 set noconvert.)

       set whitespace "characters"
          Set  the  two  characters  used  to indicate the presence of tabs and
          spaces.  They must be single-column characters.  The default pair for
          a UTF-8 locale is "»⋅", and for other locales ">.".

       set wordbounds
          Detect word boundaries differently by treating punctuation characters
          as parts of words.

       set wordchars "characters"
          Specify which other characters (besides the normal alphanumeric ones)
          should be considered as parts of words.  When using this option,  you
          probably want to unset wordbounds.

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

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

SYNTAX HIGHLIGHTING
       Coloring the different syntactic elements of a file is done via  regular
       expressions  (see  the  color command below).  This is inherently imper-
       fect, because regular expressions are not powerful enough to fully parse
       a file.  Nevertheless, regular expressions can do a lot and are easy  to
       make, so they are a good fit for a small editor like nano.

       All  regular expressions in nano are POSIX extended regular expressions.
       This means that ., ?, *, +, ^, $, and several other characters are  spe-
       cial.   The period . matches any single character, ? means the preceding
       item is optional, * means the preceding item may be matched zero or more
       times, + means the preceding item must be matched one or more  times,  ^
       matches  the beginning of a line, and $ the end, \< matches the start of
       a word, and \> the end, and \s matches a  blank.   It  also  means  that
       lookahead  and  lookbehind are not possible.  A complete explanation can
       be found in the manual page of GNU grep: man grep.

       Each regular expression in a nanorc file should  be  wrapped  in  double
       quotes  ("").   Multiple  regular expressions can follow each other on a
       line by separating them with blanks.  This means that a regular  expres-
       sion  cannot  contain a double quote followed by a blank.  When you need
       this combination inside a regular expression,  then  either  the  double
       quote or the blank should be put between square brackets ([]).

       For each kind of file a separate syntax can be defined via the following
       commands:

       syntax name ["fileregex" ...]
              Start  the definition of a syntax with this name.  All subsequent
              color and other such commands are added to this syntax,  until  a
              new syntax command is encountered.

              When nano is run, this syntax is automatically activated (for the
              relevant  buffer)  if  the absolute filename matches the extended
              regular expression fileregex.  Or the syntax  can  be  explicitly
              activated  (for all buffers) by using the -Y or --syntax command-
              line option followed by the name.

              The syntax default is special: it takes no fileregex, and applies
              to files that don't match any syntax's regexes.  The syntax  none
              is reserved; specifying it on the command line is the same as not
              having a syntax at all.

       header "regex" ...
              If  from  all defined syntaxes no fileregex matched, then compare
              this regex (or regexes) against the first  line  of  the  current
              file, to determine whether this syntax should be used for it.

       magic "regex" ...
              If  no fileregex matched and no header regex matched either, then
              compare this regex (or regexes) against the  result  of  querying
              the  magic  database about the current file, to determine whether
              this syntax should be used for it.  (This querying is  done  only
              when  libmagic is actually installed on the system and --magic or
              set magic was given.)

       formatter program [argument ...]
              Run the given program on the full contents of the current buffer.

       linter program [argument ...]
              Use the given program to  run  a  syntax  check  on  the  current
              buffer.

       comment "string"
              Use  the  given string for commenting and uncommenting lines.  If
              the string contains a vertical bar or pipe  character  (|),  this
              designates  bracket-style  comments; for example, "/*|*/" for CSS
              files.  The characters before the pipe are prepended to the  line
              and  the characters after the pipe are appended at the end of the
              line.  If no pipe  character  is  present,  the  full  string  is
              prepended;  for  example,  "#" for Python files.  If empty double
              quotes are specified, the comment/uncomment function is disabled;
              for example, "" for JSON.  The default value is "#".

       tabgives "string"
              Make the <Tab> key produce the given  string.   Useful  for  lan-
              guages  like Python that want to see only spaces for indentation.
              This overrides the setting of the tabstospaces option.

       color [bold,][italic,]fgcolor,bgcolor "regex" ...
              Paint all pieces of text that match the extended regular  expres-
              sion  regex  with  the given foreground and background colors, at
              least one of which must be specified.   Valid  color  names  are:
              red,  green, blue, magenta, yellow, cyan, white, and black.  Each
              of these eight names may be prefixed with the word light to get a
              brighter version of that color.  The word grey  or  gray  may  be
              used as a synonym for lightblack.  On a Linux console, light does
              not  have  any effect for a background color.  On terminal emula-
              tors that can do at least 256 colors, other valid (but  unprefix-
              able)  color  names are: pink, purple, mauve, lagoon, mint, lime,
              peach, orange, latte, rosy, beet, plum, sea,  sky,  slate,  teal,
              sage,  brown,  ocher,  sand,  tawny, brick, crimson, and normal —
              where normal means the default foreground  or  background  color.
              On  such  emulators,  the color may also be specified as a three-
              digit hexadecimal number prefixed with #, with the digits  repre-
              senting  the amounts of red, green, and blue, respectively.  This
              tells nano to select from the available palette  the  color  that
              approximates the given values.

              The  color  pair may be preceded by bold and/or italic (separated
              by commas) to get a bold and/or slanting typeface, if your termi-
              nal can do those.

              All coloring commands are applied in the order in which they  are
              specified, which means that later commands can recolor stuff that
              was colored earlier.

       icolor [bold,][italic,]fgcolor,bgcolor "regex" ...
              Same as above, except that the matching is case insensitive.

       color [bold,][italic,]fgcolor,bgcolor start="fromrx" end="torx"
              Paint all pieces of text whose start matches extended regular ex-
              pression fromrx and whose end matches extended regular expression
              torx  with  the  given foreground and background colors, at least
              one of which must be specified.  This means that, after  an  ini-
              tial  instance  of  fromrx,  all text until the first instance of
              torx is colored.  This allows syntax highlighting to span  multi-
              ple lines.

       icolor [bold,][italic,]fgcolor,bgcolor start="fromrx" end="torx"
              Same as above, except that the matching is case insensitive.

       include "syntaxfile"
              Read in self-contained color syntaxes from syntaxfile.  Note that
              syntaxfile  may  contain  only the above commands, from syntax to
              icolor.

       extendsyntax name command argument ...
              Extend  the  syntax  previously  defined  as  name  with  another
              command.   This allows adding a new color, icolor, header, magic,
              formatter, linter, comment, or tabgives command to an already de-
              fined syntax — useful when you want to slightly improve a  syntax
              defined  in one of the system-installed files (which normally are
              not writable).

REBINDING KEYS
       Key bindings can be changed via the following three commands:

          bind key function menu
                 Rebinds the given key to the given function in the given  menu
                 (or in all menus where the function exists when all is used).

          bind key "string" menu
                 Makes the given key produce the given string in the given menu
                 (or  in all menus where the key exists when all is used).  Be-
                 sides literal text and/or control codes, the string  may  con-
                 tain  function  names between braces.  These functions are in-
                 voked when the key is typed.  To  include  a  literal  opening
                 brace, use {{}.

          unbind key menu
                 Unbinds  the  given key from the given menu (or from all menus
                 where the key exists when all is used).

       Note that bind key "{function}" menu is equivalent to bind key  function
       menu,  except  that  for the latter form nano checks the availability of
       the function in the given menu at startup time (and reports an error  if
       it does not exist there), whereas for the first form nano checks at exe-
       cution  time that the function exists but not whether it makes any sense
       in the current menu.  The user has to take care that a function name be-
       tween braces (or any sequence of them) is appropriate.  Strange behavior
       or even a crash can result when the braced name is unfitting.

       The format of key should be one of:

          ^X     where X is a Latin letter, or one of several ASCII  characters
                 (@, ], \, ^, _), or the word "Space".  Example: ^C.

          M-X    where  X is any ASCII character except [, or the word "Space".
                 Example: M-8.

          Sh-M-X where X is a Latin letter.  Example: Sh-M-U.  By default, each
                 Meta+letter keystroke  does  the  same  as  the  corresponding
                 Shift+Meta+letter.  But when any Shift+Meta bind is made, that
                 will no longer be the case, for all letters.

          FN     where  N is a numeric value from 1 to 24.  Example: F10.  (Of-
                 ten, F13 to F24 can be typed as F1 to F12 with Shift.)

          Ins or Del.

       Rebinding ^M (Enter) or ^I (Tab) is probably not a good idea.  Rebinding
       ^[ (Esc) is not possible, because its keycode is  the  starter  byte  of
       Meta  keystrokes  and  escape sequences.  Rebinding any of the dedicated
       cursor-moving keys (the arrows, Home, End, PageUp and PageDown)  is  not
       possible.   On  some  terminals  it's  not possible to rebind ^H (unless
       --raw is used) because its keycode is identical to that of the Backspace
       key.

       Valid function names to be bound are:

          help
            Invokes the help viewer.

          cancel
            Cancels the current command.

          exit
            Exits from the program (or from the help viewer or file browser).

          writeout
            Writes the current buffer to disk, asking for a name.

          savefile
            Writes the current file to disk without prompting.

          insert
            Inserts a file into the current buffer (at the current cursor posi-
            tion), or into a new buffer when option multibuffer is set.

          whereis
            Starts a forward search for text in the current  buffer  —  or  for
            filenames  matching  a  string  in  the  current  list  in the file
            browser.

          wherewas
            Starts a backward search for text in the current buffer  —  or  for
            filenames  matching  a  string  in  the  current  list  in the file
            browser.

          findprevious
            Searches the next occurrence in the backward direction.

          findnext
            Searches the next occurrence in the forward direction.

          replace
            Interactively replaces text within the current buffer.

          cut
            Cuts and stores the current line (or the marked region).

          copy
            Copies the current line (or the marked region) without deleting it.

          paste
            Pastes the currently stored text into the  current  buffer  at  the
            current cursor position.

          zap
            Throws  away  the current line (or the marked region).  (This func-
            tion is bound by default to <Meta+Delete>.)

          chopwordleft
            Deletes from the cursor position to the beginning of the  preceding
            word.   (This  function is bound by default to <Shift+Ctrl+Delete>.
            If your terminal produces ^H for  <Ctrl+Backspace>,  you  can  make
            <Ctrl+Backspace>  delete  the word to the left of the cursor by re-
            binding ^H to this function.)

          chopwordright
            Deletes from the cursor position to the beginning of the next word.
            (This function is bound by default to <Ctrl+Delete>.)

          cutrestoffile
            Cuts all text from the cursor position till the end of the buffer.

          mark
            Sets the mark at the current position,  to  start  selecting  text.
            Or, when it is set, unsets the mark.

          location
            Reports the current position of the cursor in the buffer: the line,
            column, and character positions.

          wordcount
            Counts  and  reports  on the status bar the number of lines, words,
            and characters in the current buffer (or in the marked region).

          execute
            Prompts for a program to execute.  The program's output is inserted
            into the current buffer (or into a new buffer when M-F is toggled).

          speller
            Invokes a spell-checking program, either the default hunspell(1) or
            GNU spell(1), or the one defined by --speller or set speller.

          formatter
            Invokes a full-buffer-processing program (if the active syntax  de-
            fines  one).   (The  current  buffer  is written out to a temporary
            file, the program is run on it, and then the temporary file is read
            back in, replacing the contents of the buffer.)

          linter
            Invokes a syntax-checking program (if  the  active  syntax  defines
            one).    If   this  program  produces  lines  of  the  form  "file-
            name:linenum:charnum: some message", then the cursor is put at  the
            indicated  position  in the mentioned file while showing "some mes-
            sage" on the status bar.  You can move from message to message with
            <PgUp> and <PgDn>, and leave linting mode with ^C or <Enter>.

          justify
            Justifies the current paragraph (or the marked  region).   A  para-
            graph  is a group of contiguous lines that, apart from possibly the
            first line, all have the same  indentation.   The  beginning  of  a
            paragraph is detected by either this lone line with a differing in-
            dentation or by a preceding blank line.

          fulljustify
            Justifies the entire current buffer (or the marked region).

          indent
            Indents (shifts to the right) the current line or the marked lines.

          unindent
            Unindents  (shifts  to  the  left)  the  current line or the marked
            lines.

          comment
            Comments or uncomments the current line or the marked lines,  using
            the comment style specified in the active syntax.

          complete
            Completes  (when possible) the fragment before the cursor to a full
            word found elsewhere in the current buffer.

          left
            Goes left one position (in the editor or browser).

          right
            Goes right one position (in the editor or browser).

          up
            Goes one line up (in the editor or browser).

          down
            Goes one line down (in the editor or browser).

          scrollup
            Scrolls the viewport up one row (meaning that the text slides down)
            while keeping the cursor in the same text  position,  if  possible.
            (This  function  is bound by default to <Alt+Up>.  If <Alt+Up> does
            nothing on your  Linux  console,  see  the  FAQ:  ]8;;https://nano-editor.org/dist/latest/faq.html#4.1\https://nano-edi-
            tor.org/dist/latest/faq.html#4.1]8;;\.)

          scrolldown
            Scrolls the viewport down one row (meaning that the text slides up)
            while  keeping  the  cursor in the same text position, if possible.
            (This function is bound by default to <Alt+Down>.)

          center
            Scrolls the line with the cursor to the middle of the viewport.

          cycle
            Scrolls the line with the cursor first to the middle of  the  view-
            port, then to the top, then to the bottom.

          prevword
            Moves the cursor to the beginning of the previous word.

          nextword
            Moves the cursor to the beginning of the next word.

          home
            Moves the cursor to the beginning of the current line.

          end
            Moves the cursor to the end of the current line.

          beginpara
            Moves the cursor to the beginning of the current paragraph.

          endpara
            Moves the cursor to the end of the current paragraph.

          prevblock
            Moves the cursor to the beginning of the current or preceding block
            of text.  (Blocks are separated by one or more blank lines.)

          nextblock
            Moves the cursor to the beginning of the next block of text.

          toprow
            Moves the cursor to the first row in the viewport.

          bottomrow
            Moves the cursor to the last row in the viewport.

          pageup
            Goes up one screenful.

          pagedown
            Goes down one screenful.

          firstline
            Goes to the first line of the file.

          lastline
            Goes to the last line of the file.

          gotoline
            Goes  to  a specific line (and column if specified).  Negative num-
            bers count from the end of the file (and end of the line).

          findbracket
            Moves the cursor to the bracket (or  brace  or  parenthesis,  etc.)
            that matches (pairs) with the one under the cursor.  See set match-
            brackets.

          anchor
            Places  an  anchor  at the current line, or removes it when already
            present.  (An anchor is visible when line numbers are activated.)

          prevanchor
            Goes to the first anchor before the current line.

          nextanchor
            Goes to the first anchor after the current line.

          prevbuf
            Switches to  editing/viewing  the  previous  buffer  when  multiple
            buffers are open.

          nextbuf
            Switches  to  editing/viewing the next buffer when multiple buffers
            are open.

          verbatim
            Inserts the next keystroke verbatim into the file, or  begins  Uni-
            code input when a hexadecimal digit is typed.

          tab
            Inserts a tab at the current cursor location.

          enter
            Inserts a new line below the current one.

          delete
            Deletes the character under the cursor.

          backspace
            Deletes the character before the cursor.

          recordmacro
            Starts the recording of keystrokes — the keystrokes are stored as a
            macro.  When already recording, the recording is stopped.

          runmacro
            Replays the keystrokes of the last recorded macro.

          undo
            Undoes the last performed text action (add text, delete text, etc).

          redo
            Redoes the last undone action (i.e., it undoes an undo).

          refresh
            Refreshes the screen.

          suspend
            Suspends  the  editor  and  returns control to the shell (until you
            tell the process to resume execution with fg).

          casesens
            Toggles whether searching/replacing ignores or respects the case of
            the given characters.

          regexp
            Toggles whether searching/replacing uses literal strings or regular
            expressions.

          backwards
            Toggles whether searching/replacing goes forward or backward.

          older
            Retrieves the previous (earlier) entry at a prompt.

          newer
            Retrieves the next (later) entry at a prompt.

          flipreplace
            Toggles between searching for something and replacing something.

          flipgoto
            Toggles between searching for text and targeting a line number.

          flipexecute
            Switches from inserting a file to executing a command.

          flippipe
            When executing a command, toggles whether the  current  buffer  (or
            marked region) is piped to the command.

          flipnewbuffer
            Toggles  between  inserting  into the current buffer and into a new
            empty buffer.

          flipconvert
            When reading in a file, toggles between converting and not convert-
            ing it from DOS/Mac format.  Converting is the default.

          dosformat
            When writing a file, switches to writing a DOS format (CR/LF).

          macformat
            When writing a file, switches to writing a Mac format.

          append
            When writing a file, appends to the end instead of overwriting.

          prepend
            When writing a file, "prepends" (writes at the  beginning)  instead
            of overwriting.

          backup
            When writing a file, creates a backup of the current file.

          discardbuffer
            When about to write a file, discard the current buffer without sav-
            ing.    (This  function  is  bound  by  default  only  when  option
            --saveonexit is in effect.)

          browser
            Starts the file browser (in the Read File and Write Out menus), al-
            lowing to select a file from a list.

          gotodir
            Goes to a directory to be specified, allowing to browse anywhere in
            the filesystem.

          firstfile
            Goes to the first file in the list when using the file browser.

          lastfile
            Goes to the last file in the list when using the file browser.

          nohelp
            Toggles the presence of the two-line list of key  bindings  at  the
            bottom  of the screen.  (This toggle is special: it is available in
            all menus except the help viewer and the linter.  All further  tog-
            gles are available in the main menu only.)

          zero
            Toggles the presence of title bar and status bar.

          constantshow
            Toggles  the  constant reporting (on the status bar) of the current
            line, column, and character positions.

          softwrap
            Toggles the displaying of overlong lines on multiple screen lines.

          linenumbers
            Toggles the display of line numbers in front of the text.

          whitespacedisplay
            Toggles the showing of whitespace.

          nosyntax
            Toggles syntax highlighting.

          smarthome
            Toggles the smartness of the Home key.

          autoindent
            Toggles whether a newly created line will contain the  same  amount
            of  leading  whitespace as the preceding line — or as the next line
            if the preceding line is the beginning of a paragraph.

          cutfromcursor
            Toggles whether cutting text cuts the whole line or just  from  the
            current cursor position to the end of the line.

          breaklonglines
            Toggles  whether the overlong part of a line is hard-wrapped to the
            next line.

          tabstospaces
            Toggles whether typed tabs are converted to spaces.

          mouse
            Toggles mouse support.

       Valid menu sections are:

          main
            The main editor window where text is entered and edited.

          help
            The help-viewer menu.

          search
            The search menu (AKA whereis).

          replace
            The 'search to replace' menu.

          replacewith
            The 'replace with' menu, which comes up after 'search to replace'.

          yesno
            The 'yesno' menu, where the Yes/No/All/Cancel question is asked.

          gotoline
            The 'goto line (and column)' menu.

          writeout
            The 'write file' menu.

          insert
            The 'insert file' menu.

          browser
            The 'file browser' menu, for selecting a file to be opened  or  in-
            serted or written to.

          whereisfile
            The 'search for a file' menu in the file browser.

          gotodir
            The 'go to directory' menu in the file browser.

          execute
            The  menu for inserting the output from an external command, or for
            filtering the buffer (or the marked  region)  through  an  external
            command, or for executing one of several tools.

          spell
            The  menu of the integrated spell checker where the user can edit a
            misspelled word.

          linter
            The linter menu, which allows jumping through the linting messages.

          all
            A special name that encompasses all menus.  For bind it  means  all
            menus  where the specified function exists; for unbind it means all
            menus where the specified key exists.

EXAMPLES
       To make Ctrl+Z suspend nano:

              bind ^Z suspend main

       To make Shift+Alt+C copy the marked region to the system's clipboard:

              bind Sh-M-C "{execute}| xsel -ib {enter}{undo}" main

FILES
       /etc/nanorc
              System-wide configuration file.

       ~/.nanorc or $XDG_CONFIG_HOME/nano/nanorc or ~/.config/nano/nanorc
              Per-user configuration file.

       /usr/share/nano/*
              Syntax definitions for the syntax coloring of common  file  types
              (and for less common file types in the extra/ subdirectory).

SEE ALSO
       nano(1)

       https://nano-editor.org/cheatsheet.html
              An overview of the default key bindings.

April 2025                        version 8.4                         NANORC(5)

Generated by dwww version 1.16 on Tue Dec 16 03:59:23 CET 2025.