Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
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-specific  settings,
     either  from ~/.nanorc or from $XDG_CONFIG_HOME/nano/nanorc or from ~/.con-
     fig/nano/nanorc, whichever is encountered first.	If  --rcfile  is  given,
     nano reads just the specified settings 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

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 highlighting
     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 low-
     ercase.

     Options in nanorc files take precedence over nano's defaults, and	command-
     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 beginnings.

     set allow_insecure_backup
	When  backing  up files, allow the backup to succeed even if its permis-
	sions 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  charac-
	ters (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	previous
	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 be-
	ginning 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 punctua-
	tion (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 --
	that is: when it becomes wider than the value given with set fill (which
	defaults to the width of the terminal minus eight).

     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  file-
	name  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 overrides
	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  resized.   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 stripe-
	color.)

     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 using
	libmagic to determine the applicable syntax.  (Calling libmagic  can  be
	relatively time consuming.  It is therefore not done by default.)

     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 aster-
	isk if the buffer has been modified.  On the  right  are  displayed  the
	current line and column number, the code of the character under the cur-
	sor  (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  dis-
	played	after  the  filename.  This number is cleared upon the next key-
	stroke, 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 System, and on
	the console when gpm is running.  Text can  still  be  selected  through
	dragging by holding down the Shift key.

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

     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
	At  startup,  make nano change to the given directory, and allow reading
	and writing files only in this directory and its subdirectories.

     set positionlog
	Save the positions of  cursor  and  anchors  between  editing  sessions.
	These positions are 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 para-
	graphs.  This may not include  blank  characters.   Only  the  specified
	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 minibar
	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 rejustify 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 trans-
	late  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 Back-
	space and Delete work properly.  You should only use this option when on
	your system either Backspace acts like Delete or Delete acts like  Back-
	space.

     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 vi-
	sion.

     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 cursor is al-
	ready 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 default
	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 (break-
	ing  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 converted.)

     set titlecolor [bold,][italic,]fgcolor,bgcolor
	Use this color combination for the title bar.  Valid names for the fore-
	ground	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 emu-
	lators	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 de-
	fault 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,  re-
	spectively.   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 pre-
	ceded 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-wrap-
	ping 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 lo-
	cale 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	(instead
	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 mes-
	sage, 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 ex-
     pressions (see the color command below).  This is inherently imperfect, be-
     cause  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 special.
     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  lookbe-
     hind  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 sep-
     arating them with blanks.	This means that a regular expression cannot con-
     tain 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 regu-
	    lar 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 re-
	    served;  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 lib-
	    magic 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  desig-
	    nates  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  ex-
	    ample,  "#" 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 languages
	    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 expression
	    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 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 speci-
	    fied as a three-digit hexadecimal number prefixed with #,  with  the
	    digits  representing  the  amounts	of red, green, and blue, respec-
	    tively.  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 terminal 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 initial in-
	    stance of fromrx, all text until the first instance of torx is  col-
	    ored.  This allows syntax highlighting to span multiple 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 defined 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).  Besides
	       literal	text  and/or control codes, the string may contain func-
	       tion names between braces.  These functions are invoked 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 execution  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  between  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.  (Often,
	       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 key-
     strokes 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 file-
	  names 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  cur-
	  rent cursor position.

	zap
	  Throws  away	the current line (or the marked region).  (This function
	  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 rebind-
	  ing ^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.
	  When the program's name is preceded by a pipe  symbol  (|),  then  the
	  current buffer (or the marked region) is piped to the program, and the
	  output of the program replaces the buffer (or the marked region).

	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 defines
	  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, re-
	  placing 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  "filename:linenum:charnum:
	  some message", then the cursor is put at the indicated position in the
	  mentioned  file  while  showing "some message" 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 paragraph
	  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 indentation 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:
	  https://nano-editor.org/dist/latest/faq.html#4.1.)

	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 viewport,
	  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  given).   A	negative  number
	  counts  from	the end of the buffer (and end of the line).  Putting ++
	  or -- before the first number will jump the given number of lines for-
	  ward or backward.

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

	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  Unicode
	  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  converting
	  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
	  Discards the current buffer without saving  (when  in  the  Write  Out
	  menu).  When it was the last buffer, then nano exits with error status
	  2.

	browser
	  Starts the file browser (in the Read File and Write Out menus), allow-
	  ing 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  bot-
	  tom  of  the	screen.  (This toggle is special: it is available in all
	  menus except the help viewer and the linter.	All further toggles  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 cur-
	  rent 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 inserted
	  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 com-
	  mand, 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.

February 2026			  version 8.7.1 		       NANORC(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=nanorc&sektion=5&manpath=FreeBSD+Ports+15.1.quarterly>

home | help