# Sample initialization file for GNU nano
# Please note that you must have configured nano with 
# --enable-nanorc for this file to be read!

# Use regular expressions by default 
# set regexp 

# Constantly update the cursor position
# set const

# Use cut to end of line with ^K by default
# set cut

# Use Auto-indentation
# set autoindent

# Don't follow symlinks when writing files
# set nofollow

# Use Pico Compatibility mode for the shortcut lists and search text
# set pico

# Use this value instead of the default
# set fill -8

# Use this spelling checker instead of the default one
# set speller aspell

# Save automatically on exit, don't prompt
# set tempfile

# Disallow file modification, why would you want this in an rc file? ;)
# set view

# Don't wrap text at all
# set nowrap

# Don't display the help lists at the bottom of the screen
# set nohelp

# Allow nano to be suspended with ^Z
# set suspend

# Allow multiple file buffers (using ^R inserts into separate buffer)
# You must have configured with --enable-multibuffer or --enable-extra for
# this to work
#
# set multibuffer
