#Sample initialization file for GNU nano.
##
#Please note that you must have configured nano with --enable-nanorc
#for this file to be read! Also note that characters specially
#interpreted by the shell should not be escaped here.
##
#To make sure a value is not enabled, use "unset <option>"
##
#For the options that take parameters, the default value is given.
#Other options are unset by default.
##
#Quotes inside string parameters don't have to be escaped with
#backslashes. The last double quote in the string will be treated as
#its end. For example, for the brackets option, ""')>]}" will match
#", ', ), >, ], and }.
#Use auto-indentation.
set autoindent
#Backup files to filename~.
set backup
#The directory to put unique backup files in.
set backupdir ""
#Do backwards searches by default.
set backwards
#The characters treated as closing brackets. They cannot contain
#blank characters. Only closing punctuation, optionally followed by
#closing brackets, can end sentences.
##
set brackets ""')>]}"
#Do case sensitive searches by default.
set casesensitive
#Constantly display the cursor position in the statusbar. Note that
#this cancels out "quickblank".
set const
#Use cut to end of line by default.
set cut
#Set the line length for wrapping text and justifying paragraphs.
#If fill is 0 or less, the line length will be the screen width less
#this number.
##
set fill -8
#Enable ~/.nano_history for saving and reading search/replace strings.
set historylog
#The opening and closing brackets that can be found by bracket
#searches. They cannot contain blank characters. The former set must
#come before the latter set, and both must be in the same order.
##
set matchbrackets "(<[{)>]}"
#Use the blank line below the titlebar as extra editing space.
set morespace
#Enable mouse support, so that mouse clicks can be used to set the
#mark and run shortcuts.
set mouse
#Allow multiple file buffers (inserting a file will put it into a
#separate buffer). You must have configured with --enable-multibuffer
#for this to work.
##
set multibuffer
#Don't convert files from DOS/Mac format.
set noconvert
#Don't follow symlinks when writing files.
set nofollow
#Don't display the helpful shortcut lists at the bottom of the screen.
set nohelp
#Don't add newlines to the ends of files.
set nonewlines
#Don't wrap text at all.
set nowrap
#Set operating directory. nano will not read or write files outside
#this directory and its subdirectories. Also, the current directory
#is changed to here, so files are inserted from this dir. A blank
#string means the operating directory feature is turned off.
##
set operatingdir ""
#Preserve the XON and XOFF keys (^Q and ^S).
set preserve
#The characters treated as closing punctuation. They cannot contain
#blank characters. Only closing punctuation, optionally followed by
#closing brackets, can end sentences.
##
set punct "!.?"
#Do quick statusbar blanking. Statusbar messages will disappear after
#1 keystroke instead of 25. Note that "const" cancels this out.
##
set quickblank
#The email-quote string, used to justify email-quoted paragraphs.
#This is an extended regular expression if your system supports them,
#otherwise a literal string. Default:
set quotestr "^([ ]*[#:>\|}])+"
#if you have regexps, otherwise:
set quotestr "> "
#Fix Backspace/Delete confusion problem.
set rebinddelete
#Fix numeric keypad key confusion problem.
set rebindkeypad
#Do extended regular expression searches by default.
set regexp
#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.
set smarthome
#Use smooth scrolling as the default.
set smooth
#Use this spelling checker instead of the internal one. This option
#does not properly have a default value.
##
set speller "aspell -x -c"
#Allow nano to be suspended.
set suspend
#Use this tab size instead of the default; it must be greater than 0.
set tabsize 8
#Convert typed tabs to spaces.
set tabstospaces
#Save automatically on exit, don't prompt.
set tempfile
#Disallow file modification; why would you want this in an rcfile? ;)
set view
#The two single-column characters used to display the first characters
#of tabs and spaces. 187 decimal (00BB hexadecimal) and 183 decimal
#(00B7 hexadecimal) seem to be good values for these.
set whitespace " "
#Detect word boundaries more accurately by treating punctuation
#characters as part of a word.
set wordbounds
#Color setup
##
#Format:
##
#syntax "short description" ["filename regex" ...]
##
#(The "none" syntax is reserved; specifying it on the command line is
#the same as not having a syntax at all. The "default" syntax is
#special: it takes no filename regexes, and applies to files that
#don't match any other syntax's filename regexes.)
##
#color foreground,background "regex" ["regex"...]
#or
#icolor foreground,background "regex" ["regex"...]
##
#("color" will do case sensitive matches, while "icolor" will do case
#insensitive matches.)
##
#Legal colors: white, black, red, blue, green, yellow, magenta, cyan.
#You may use the prefix "bright" to mean a stronger color highlight
#for the foreground.
##
#To use multi-line regexes, use the start="regex" end="regex" format.
##
#If your system supports transparency, not specifying a background
#color will use a transparent color. If you don't want this, be sure
#to set the background color to black or white.
##
syntax "c-file" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$"
color brightred "\<[A-Z_][A-Z_0-9]+\>"
color green "\<(float|double|bool|char|int|short|long|sizeof|enum|void|static|const|struct|union|typedef|extern|signed|unsigned|inline)\>"
color green "\<(u_?)?int(8|16|32|64|ptr)_t\>"
color green "\<(class|namespace|template|public|protected|private|typename|this|friend|virtual|using|mutable|volatile|register|explicit)\>"
color brightyellow "\<(for|if|while|do|else|case|default|switch)\>"
color brightyellow "\<(try|throw|catch|operator|new|delete)\>"
color magenta "\<(goto|continue|break|return)\>"
color brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)"
color brightmagenta "'([^"'\]|(\\["'abfnrtv\\]))'" "'\\(([0-7][0-7]?)|([0-3][0-7][0-7]))'" "'\\x[0-9A-Fa-f][0-9A-Fa-f]?'"
##
#GCC builtins
##
color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
##
#You will in general want your comments and strings to come last,
#because syntax highlighting rules will be applied in the order they
#are read in.
##
color brightyellow "<[^= ]*>" ""(\\.|[^\"])*""
##
#This string is VERY resource intensive!
color brightyellow start=""(\\.|[^\"])*\\[[:space:]]*$" end="^(\\.|[^\"])*""
##
#And we want to have some nice comment highlighting too
color brightblue "//.*"
color brightblue start="/\*" end="\*/"
#Here is a short example for HTML
syntax "HTML" "\.html$"
color blue start="<" end=">"
color red "&[^;[[:space:]]]*;"
#Here is a short example for TeX files
syntax "TeX" "\.tex$"
icolor green "\\.|\\[A-Z]*"
color magenta "[{}]"
color blue "%.*"
#Here is an example for quoted emails (under e.g. mutt)
syntax "mutt"
color green "^>.*"
#Here is an example for groff
##
syntax "groff" "\.m[ems]$" "\.tmac$" "^tmac." ".rof"
#The argument of .nr or .ds
color cyan "^\.ds [^[[:space:]]]*"
color cyan "^\.nr [^[[:space:]]]*"
#Single character escapes
color brightmagenta "\\."
#Highlight the argument of \f or \s in the same color
color brightmagenta "\\f."
color brightmagenta "\\f\(.."
color brightmagenta "\\s(\+|\-)?[0-9]"
#\n
color cyan "(\\|\\\\)n."
color cyan "(\\|\\\\)n\(.."
color cyan start="(\\|\\\\)n\[" end="]"
#Requests
color brightgreen "^\.[[:space:]]*[^[[:space:]]]*"
#Comments
color yellow "^\.\\\".*$"
#Strings
color green "(\\|\\\\)\*."
color green "(\\|\\\\)\*\(.."
color green start="(\\|\\\\)\*\[" end="]"
#Characters
color brightred "\\\(.."
color brightred start="\\\[" end="]"
#Macro arguments
color brightcyan "\\\\\$[1-9]"
#Here is an example for perl
##
syntax "perl" "\.p[lm]$"
color red "\<(accept|alarm|atan2|bin(d|mode)|c(aller|h(dir|mod|op|own|root)|lose(dir)?|onnect|os|rypt)|d(bm(close|open)|efined|elete|ie|o|ump)|e(ach|of|val|x(ec|ists|it|p))|f(cntl|ileno|lock|ork))\>" "\<(get(c|login|peername|pgrp|ppid|priority|pwnam|(host|net|proto|serv)byname|pwuid|grgid|(host|net)byaddr|protobynumber|servbyport)|([gs]et|end)(pw|gr|host|net|proto|serv)ent|getsock(name|opt)|gmtime|goto|grep|hex|index|int|ioctl|join)\>" "\<(keys|kill|last|length|link|listen|local(time)?|log|lstat|m|mkdir|msg(ctl|get|snd|rcv)|next|oct|open(dir)?|ord|pack|pipe|pop|printf?|push|q|qq|qx|rand|re(ad(dir|link)?|cv|do|name|quire|set|turn|verse|winddir)|rindex|rmdir|s|scalar|seek(dir)?)\>" "\<(se(lect|mctl|mget|mop|nd|tpgrp|tpriority|tsockopt)|shift|shm(ctl|get|read|write)|shutdown|sin|sleep|socket(pair)?|sort|spli(ce|t)|sprintf|sqrt|srand|stat|study|substr|symlink|sys(call|read|tem|write)|tell(dir)?|time|tr(y)?|truncate|umask)\>" "\<(un(def|link|pack|shift)|utime|values|vec|wait(pid)?|wantarray|warn|write)\>"
color magenta "\<(continue|else|elsif|do|for|foreach|if|unless|until|while|eq|ne|lt|gt|le|ge|cmp|x|my|sub|use|package|can|isa)\>"
color cyan start="[$@%]" end="( |\\W|-)"
color yellow "".*"|qq\|.*\|"
color white "[sm]/.*/"
color white start="(^use| = new)" end=";"
color green "#.*"
color yellow start="<< 'STOP'" end="STOP"
#Here is an example for Java source
##
syntax "Java source" "\.java$"
color green "\<(boolean|byte|char|double|float|int|long|new|short|this|transient|void)\>"
color red "\<(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\>"
color cyan "\<(abstract|class|extends|final|implements|import|instanceof|interface|native|package|private|protected|public|static|strictfp|super|synchronized|throws|volatile)\>"
color red ""[^\"]*""
color yellow "\<(true|false|null)\>"
color blue "//.*"
color blue start="/\*" end="\*/"
color brightblue start="/\*\*" end="\*/"
color brightgreen,green "[[:space:]]+$"
#Here is an example for patch files
##
syntax "patch" "\.(patch|diff)$"
color brightgreen "^\+.*"
color green "^\+\+\+.*"
color brightblue "^ .*"
color brightred "^-.*"
color red "^---.*"
color brightyellow "^@@.*"
color magenta "^diff.*"
#Here is an example for manpages
##
syntax "manpage" "\.[1-9]x?$"
color green "\.(S|T)H.*$"
color brightgreen "\.(S|T)H" "\.TP"
color brightred "\.(BR?|I[PR]?).*$"
color brightblue "\.(BR?|I[PR]?|PP)"
color brightwhite "\\f[BIPR]"
color yellow "\.(br|DS|RS|RE|PD)"
#Here is an example for assembler
##
syntax "asm-file" "\.(S|s|asm)$"
color red "\<[A-Z_]{2,}\>"
color brightgreen "\.(data|subsection|text)"
color green "\.(align|file|globl|global|hidden|section|size|type|weak)"
color brightyellow "\.(ascii|asciz|byte|double|float|hword|int|long|short|single|struct|word)"
icolor brightred "^[[:space:]]*[._A-Z0-9]*:"
color brightcyan "^[[:space:]]*#[[:space:]]*(define|undef|include|ifn?def|endif|elif|else|if|warning|error)"
#Highlight strings (note: VERY resource intensive)
color brightyellow "<[^= ]*>" ""(\\.|[^\"])*""
color brightyellow start=""(\\.|[^\"])*\\[[:space:]]*$" end="^(\\.|[^\"])*""
#Highlight comments
color brightblue "//.*"
color brightblue start="/\*" end="\*/"
#Here is an example for Bourne shell scripts
##
syntax "shellscript" "\.sh$"
icolor brightgreen "^[_A-Z0-9]+\(\)"
color green "\<(case|do|done|elif|else|esac|exit|fi|for|function|if|in|local|read|return|select|shift|then|time|until|while)\>"
color green "(\{|\}|\(|\)|\;|\]|\[|`|\\|\$|<|>|!|=|&|\|)"
color green "-(L|d|e|f|g|r|u|w|x)\>"
color green "-(eq|ne|gt|lt|ge|le|s|n|z)\>"
color brightblue "\<(cat|cd|chmod|chown|cp|echo|env|export|grep|install|let|ln|make|mkdir|mv|rm|sed|set|tar|touch|umask|unset)\>"
icolor brightred "\$\{?[_A-Z0-9]+\}?"
color yellow "#.*$"
color brightyellow ""(\\.|[^\"])*"" "'(\\.|[^'])*'"
#Here is an example for your .nanorc
##
syntax "nanorc" "(\.|/|)nanorc$"
#highlight possible errors and parameters
icolor brightwhite "^[[:space:]]*(set|unset|syntax|i?color).*$"
#set, unset and syntax
icolor cyan "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|backupdir|backwards|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|preserve|punct|quickblank)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace|wordbounds)\>"
icolor green "^[[:space:]]*(set|unset|syntax)\>"
#colors
icolor yellow "^[[:space:]]*i?color[[:space:]]*(bright)?(white|black|red|blue|green|yellow|magenta|cyan)?(,(white|black|red|blue|green|yellow|magenta|cyan))?\>"
icolor magenta "^[[:space:]]*i?color\>" "\<(start|end)="
#strings
icolor white "\"(\\.|[^\"])*\""
#comments
icolor blue "^[[:space:]]*#.*$"