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

FreeBSD Manual Pages


home | help
NANO(1)			    General Commands Manual		       NANO(1)

       nano - Nano's ANOther editor, inspired by Pico

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

       nano [options] [[+[crCR](/|?)string] file]...

       Since version 4.0, nano by default:

	   o does not automatically hard-wrap lines that become	overlong,
	   o includes the line below the title bar in the editing area,
	   o does linewise (smooth) scrolling.

       If  you want the	old, Pico behavior back, you can use --breaklonglines,
       --emptyline, and	--jumpyscrolling (or -bej for short).

       nano is a small and friendly 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", one 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.

       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  will  put all deleted lines	together in the	cutbuffer.  Any	cursor
       movement	or executing any other command will cause the next ^K to over-
       write  the cutbuffer.  A	^U will	paste the current contents of the cut-
       buffer at the current cursor position.

       When a more precise piece of text needs to be cut or  copied,  one  can
       mark  its  start	 with  ^6, move	the cursor to its end (the marked text
       will be highlighted), and then use ^K to	cut it,	or M-6 to copy	it  to
       the cutbuffer.  One can also save the marked text to a file with	^O, or
       spell check it with ^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 will
       increase	the stride.  Any cursor	movement without Shift being held will
       cancel such a selection.

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

       -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  will  jump  to  that beginning (either forwards or back-
	      wards).  If the cursor is	already	at that	position, it will jump
	      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 will
	      be overridden by setting the  options  titlecolor,  statuscolor,
	      keycolor,	 functioncolor,	 numbercolor,  and/or selectedcolor in
	      your nanorc file.	 See nanorc(5).

       -E, --tabstospaces
	      Convert typed tabs to spaces.

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

       -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 your key-
	      board to work properly, please report a bug.  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 cur-
	      sor,  and	 place it at that position again upon reopening	such a

       -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 re-
	      wrap 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 in-
	      stead of rudely at the screen's edge, by using also --atblanks.)
	      (The old short option, -$, is deprecated.)

       -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 options -c (--constantshow) and -_ (--mini-
	      bar) override this.

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

       -W, --wordbounds
	      Detect word boundaries differently by treating punctuation char-
	      acters 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 cut-

       -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 over-
	      long.  (This option is the opposite of -w	(--nowrap) -- the last
	      one given	takes effect.)

       -c, --constantshow
	      Constantly  show	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

       -f file,	--rcfile=file
	      Read only	this file for setting nano's options, instead of read-
	      ing 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  en-
	      abled,  mouse  clicks  can  be used to place the cursor, set the
	      mark (with a double click), and execute  shortcuts.   The	 mouse
	      will work	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 will start with a	 blank
	      buffer,  and  will  write	 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 XON	and XOFF sequences (^Q and ^S) so they will be
	      caught by	the terminal.

       -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
	      will occur at the	width of the screen minus number columns,  al-
	      lowing 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,  in-
	      stead  of	using the built-in corrector that calls	hunspell(1) or

       -t, --saveonexit
	      Save a changed buffer without prompting (when exiting with  ^X).
	      (The old form of the long	option,	--tempfile, is deprecated.)

       -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,  un-
	      less --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 be-

       -z, --suspendable
	      Allow the	user to	suspend	the editor (with ^Z by default).

       -%, --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 "minibar" the file name  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 per-
	      centage  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 file name.  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  charac-
	      ter 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.

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

       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.

       When --rcfile is	given, nano will read just the specified file for set-
       ting its	options	and syntaxes and key bindings.	Without	 that  option,
       nano  will  read	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.

       If no alternative spell checker command is  specified  on  the  command
       line nor	in one of the nanorc files, nano will check the	SPELL environ-
       ment variable for one.

       In some cases nano will try to dump the buffer into an emergency	 file.
       This  will  happen  mainly if nano receives a SIGHUP or SIGTERM or runs
       out of memory.  It will write the buffer	into a file named if
       the  buffer didn't have a name already, or will add a ".save" suffix to
       the current filename.  If an emergency file with	that name already  ex-
       ists  in	the current directory, it will add ".save" plus	a number (e.g.
       ".save.1") to the current filename in order  to	make  it  unique.   In
       multibuffer mode, nano will write all the open buffers to their respec-
       tive emergency files.

       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:

       When nano crashes, it will save 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.



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

June 2021			  version 5.8			       NANO(1)


Want to link to this manual page? Use this URL:

home | help