nano: Command-line Options
6 Command-line Options
**********************
‘nano’ takes the following options from the command line:
‘-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 backwards).
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. 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. ⇒set keycolor for details.
‘-E’
‘--tabstospaces’
Convert each typed tab to spaces — to the number of spaces that a
tab at that position would take up.
‘-F’
‘--multibuffer’
Read a file into a new buffer by default.
‘-G’
‘--locking’
Enable vim-style file locking when editing files.
‘-H’
‘--historylog’
Save the last hundred search strings and replacement strings and
executed commands, so they can be easily reused in later sessions.
‘-I’
‘--ignorercfiles’
Don’t look at the system’s nanorc file nor at the user’s nanorc.
‘-J’
‘--guidestripe’
Draw a vertical stripe at the given column, to help judge the width
of the text. (The color of the stripe can be changed with ‘set
stripecolor’ in your nanorc file.)
‘-K’
‘--rawsequences’
Interpret escape sequences directly, instead of asking ‘ncurses’ to
translate them. (If you need this option to get some keys to work
properly, it means that the terminfo terminal description that is
used does not fully match the actual behavior of your terminal.
This can happen when you ssh into a BSD machine, for example.)
Using this option disables ‘nano’’s mouse support.
‘-L’
‘--nonewlines’
Don’t automatically add a newline when a text does not end with
one. (This can cause you to save non-POSIX text files.)
‘-M’
‘--trimblanks’
Snip trailing whitespace from the wrapped line when automatic
hard-wrapping occurs or when text is justified.
‘-N’
‘--noconvert’
Disable automatic conversion of files from DOS/Mac format.
‘-O’
‘--bookstyle’
When justifying, treat any line that starts with whitespace as the
beginning of a paragraph (unless auto-indenting is on).
‘-P’
‘--positionlog’
For the 200 most recent files, log the last position of the cursor,
and place it at that position again upon reopening such a file.
‘-Q "REGEX"’
‘--quotestr="REGEX"’
Set the regular expression for matching the quoting part of a line.
The default value is "^([ \t]*([!#%:;>|}]|//))+". (Note that ‘\t’
stands for a literal 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.
‘-R’
‘--restricted’
Restricted mode: don’t read or write to any file not specified on
the command line. This means: don’t read or write history files;
don’t allow suspending; don’t allow spell checking; don’t allow a
file to be appended to, prepended to, or saved under a different
name if it already has one; and don’t make backup files.
Restricted mode can also be activated by invoking ‘nano’ with any
name beginning with ‘r’ (e.g. ‘rnano’).
‘-S’
‘--softwrap’
Display over multiple screen rows lines that exceed the screen’s
width. (You can make this soft-wrapping occur at whitespace
instead of rudely at the screen’s edge, by using also
‘--atblanks’.) (The old short option, ‘-$’, is deprecated.)
‘-T NUMBER’
‘--tabsize=NUMBER’
Set the displayed tab length to NUMBER columns. The value of
NUMBER must be greater than 0. The default value is 8.
‘-U’
‘--quickblank’
Make status-bar messages disappear after 1 keystroke instead of
after 20. Note that option ‘-c’ (‘--constantshow’) overrides this.
When option ‘--minibar’ or ‘--zero’ is in effect, ‘--quickblank’
makes a message disappear after 0.8 seconds instead of after the
default 1.5 seconds.
‘-V’
‘--version’
Show the current version number and exit.
‘-W’
‘--wordbounds’
Detect word boundaries differently by treating punctuation
characters as parts of words.
‘-X "CHARACTERS"’
‘--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 omit ‘-W’ (‘--wordbounds’).
‘-Y NAME’
‘--syntax=NAME’
Specify the syntax to be used for highlighting. ⇒Syntax
Highlighting for more info.
‘-Z’
‘--zap’
Let an unmodified ‘Backspace’ or ‘Delete’ erase the marked region
(instead of a single character, and without affecting the
cutbuffer).
‘-a’
‘--atblanks’
When doing soft line wrapping, wrap lines at whitespace instead of
always at the edge of the screen.
‘-b’
‘--breaklonglines’
Automatically hard-wrap the current line when it becomes overlong.
(This option is the opposite of ‘-w’ (‘--nowrap’) — the last one
given takes effect.)
‘-c’
‘--constantshow’
Constantly display the cursor position (line number, column number,
and character number) on the status bar. Note that this overrides
option ‘-U’ (‘--quickblank’).
‘-d’
‘--rebinddelete’
Interpret the ‘Delete’ and ‘Backspace’ keys differently so that
both work properly. You should only use this option when on your
system either ‘Backspace’ acts like Delete or ‘Delete’ acts like
Backspace.
‘-e’
‘--emptyline’
Do not use the line below the title bar, leaving it entirely blank.
‘-f FILE’
‘--rcfile=FILE’
Read only this FILE for setting nano’s options, instead of reading
both the system-wide and the user’s nanorc files.
‘-g’
‘--showcursor’
Make the cursor visible in the file browser (putting it on the
highlighted item) and in the help viewer. Useful for braille users
and people with poor vision.
‘-h’
‘--help’
Show a summary of command-line options and exit.
‘-i’
‘--autoindent’
Automatically indent a newly created line to the same number of
tabs and/or spaces as the previous line (or as the next line if the
previous line is the beginning of a paragraph).
‘-j’
‘--jumpyscrolling’
Scroll the buffer contents per half-screen instead of per line.
‘-k’
‘--cutfromcursor’
Make the ’Cut Text’ command (normally ‘^K’) cut from the current
cursor position to the end of the line, instead of cutting the
entire line.
‘-l’
‘--linenumbers’
Display line numbers to the left of the text area. (Any line with
an anchor additionally gets a mark in the margin.)
‘-m’
‘--mouse’
Enable mouse support, if available for your system. When enabled,
mouse clicks can be used to place the cursor, set the mark (with a
double click), and execute shortcuts. The mouse 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 ‘^Q’ (XON) and ‘^S’ (XOFF) sequences so data being
sent to the editor can be stopped and started.
‘-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, allowing the
wrap point to vary along with the width of the screen if the screen
is resized. The default value is -8.
‘-s "PROGRAM [ARGUMENT ...]"’
‘--speller="PROGRAM [ARGUMENT ...]"’
Use the given program to do spell checking and correcting. By
default, ‘nano’ uses the command specified in the ‘SPELL’
environment variable. If ‘SPELL’ is not set, and ‘--speller’ is
not specified either, then ‘nano’ uses its own interactive spell
corrector, which requires either ‘hunspell’ or GNU ‘spell’ to be
installed.
‘-t’
‘--saveonexit’
Save a changed buffer without prompting (when exiting with ‘^X’).
This can be handy when ‘nano’ is used as the composer of an email
program.
‘-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’
Don’t allow the contents of the file to be altered: read-only mode.
This mode allows the user to open also other files for viewing,
unless ‘--restricted’ is given too. (Note that this option should
NOT be used in place of correct file permissions to implement a
read-only file.)
‘-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’
Expert mode: don’t show the two help lines at the bottom of the
screen. This affects the location of the status bar as well, as in
Expert mode it is located at the very bottom of the editor.
Note: When accessing the help system, Expert mode is temporarily
disabled to display the help-system navigation keys.
‘-y’
‘--afterends’
Make ‘Ctrl+Right’ and ‘Ctrl+Delete’ stop at word ends instead of
beginnings.
‘-!’
‘--magic’
When neither the file’s name nor its first line give a clue, try
using libmagic to determine the applicable syntax.
‘-%’
‘--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 filename is shown on the left,
followed by an asterisk if the buffer has been modified. On the
right are displayed the current line and column number, the code of
the character under the cursor (in Unicode format: U+xxxx), the
same flags as are shown by ‘--stateflags’, and a percentage that
expresses how far the cursor is into the file (linewise). When a
file is loaded or saved, and also when switching between buffers,
the number of lines in the buffer is displayed after the filename.
This number is cleared upon the next keystroke, or replaced with an
[i/n] counter when multiple buffers are open. The line plus column
numbers and the character code are displayed only when
‘--constantshow’ is used, and can be toggled on and off with ‘M-C’.
The state flags are displayed only when ‘--stateflags’ is used.
‘-0’
‘--zero’
Hide all elements of the interface (title bar, status bar, and help
lines) and use all rows of the terminal for showing the contents of
the buffer. The status bar appears only when there is a
significant message, and disappears after 1.5 seconds or upon the
next keystroke. With ‘M-Z’ the title bar plus status bar can be
toggled. With ‘M-X’ the help lines.
Option ‘-z’ (‘--suspendable’) has been removed. Suspension is
enabled by default, reachable via ‘^T^Z’. (If you want a plain ‘^Z’ to
suspend nano, add ‘bind ^Z suspend main’ to your nanorc.)