## 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 this file should not be in ## DOS or Mac format, and that characters specially interpreted by the ## shell should not be escaped here. ## ## To make sure a value is disabled, 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 ## Use bold text instead of reverse video text. # set boldtext ## The characters treated as closing brackets when justifying ## paragraphs. 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 overrules "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, 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. ## # 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 any 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 when justifying ## paragraphs. 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 26. Note that "const" overrules this. ## # 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 extended regular expression support, 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 in ISO 8859-1 (0000BB in Unicode) and 183 in ## ISO-8859-1 (0000B7 in Unicode) 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. ## ## Valid colors: white, black, red, blue, green, yellow, magenta, cyan. ## For foreground colors, you may use the prefix "bright" to get a ## stronger highlight. ## ## To use multi-line regexes, use the start="regex" end="regex" ## [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. ## ## If you wish, you may put your syntaxes in separate files. You can ## make use of such files (which can only include "syntax", "color", and ## "icolor" commands) as follows: ## ## include "syntax file" ## ## All regexes should be extended regular expressions. ## Here is an example for C/C++. ## # syntax "c-file" "\.(c|C|cc|cpp|cxx|h|H|hh|hpp|hxx)$" # color brightred "\<[A-Z_][0-9A-Z_]+\>" # 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-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'" ## ## GCC builtins # color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__" ## ## String highlighting. 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="^(\\.|[^"])*"" ## ## Comment highlighting # 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 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 groff. ## # syntax "groff" "\.m[ems]$" "\.rof" "\.tmac$" "^tmac." ## The argument of .ds or .nr # color cyan "^\.(ds|nr) [^[[:space:]]]*" ## Single character escapes # color brightmagenta "\\." ## Highlight the argument of \f or \s in the same color # color brightmagenta "\\f." "\\f\(.." "\\s(\+|\-)?[0-9]" ## Newlines # color cyan "(\\|\\\\)n(.|\(..)" # color cyan start="(\\|\\\\)n\[" end="]" ## Requests # color brightgreen "^\.[[:space:]]*[^[[:space:]]]*" ## Comments # color yellow "^\.\\".*$" ## Strings # 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)\>" # icolor cyan start="[$@%]" end="( |[^0-9A-Z_]|-)" # 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 Python. ## # syntax "python" "\.py$" # icolor brightblue "def [0-9A-Z_]+" # color brightcyan "\<(and|assert|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|map|not|or|pass|print|raise|return|try|while)\>" # color brightgreen "["'].*[^\\]["']" "["']{3}.*[^\\]["']{3}" # color brightgreen start=""""[^"]" end=""""" start="'''[^']" end="'''" # color brightred "#.*$" ## Here is an example for Ruby. # syntax "ruby" "\.rb$" ## Asciibetical list of reserved words # color yellow "\<(BEGIN|END|alias|and|begin|break|case|class|def|defined\?|do|else|elsif|end|ensure|false|for|if|in|module|next|nil|not|or|redo|rescue|retry|return|self|super|then|true|undef|unless|until|when|while|yield)\>" ## Constants # color brightblue "(\$|@|@@)?[A-Z]+[0-9A-Z_a-z]*" ## Ruby "symbols" # icolor magenta "([ ]|^):[0-9A-Z_]+\>" ## Some unique things we want to stand out # color brightyellow "\<(__FILE__|__LINE__)\>" ## Regular expressions # color brightmagenta "/([^/]|(\\/))*/[iomx]*" "%r\{([^}]|(\\}))*\}[iomx]*" ## Shell command expansion is in `backticks` or like %x{this}. These are ## "double-quotish" (to use a perlism). # color brightblue "`[^`]*`" "%x\{[^}]*\}" ## Strings, double-quoted # color green ""([^"]|(\\"))*"" "%[QW]?\{[^}]*\}" "%[QW]?\([^)]*\)" "%[QW]?<[^>]*>" "%[QW]?\[[^]]*\]" "%[QW]?\$[^$]*\$" "%[QW]?\^[^^]*\^" "%[QW]?![^!]*!" ## Expression substitution. These go inside double-quoted strings, ## "like #{this}". # color brightgreen "#\{[^}]*\}" ## Strings, single-quoted # color green "'([^']|(\\'))*'" "%[qw]\{[^}]*\}" "%[qw]\([^)]*\)" "%[qw]<[^>]*>" "%[qw]\[[^]]*\]" "%[qw]\$[^$]*\$" "%[qw]\^[^^]*\^" "%[qw]![^!]*!" ## Comments # color cyan "#[^{].*$" "#$" # color brightcyan "##[^{].*$" "##$" ## Some common markers # color brightcyan "(XXX|TODO|FIXME|\?\?\?)" ## 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 ,green "[[:space:]]+$" ## 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:]]*[.0-9A-Z_]*:" # 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 "^[0-9A-Z_]+\(\)" # 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 "-[Ldefgruwx]\>" # 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 "\$\{?[0-9A-Z_!@#$*-?]+\}?" # color yellow "(^|[[:space:]])#.*$" # color brightyellow ""(\\.|[^"])*"" "'(\\.|[^'])*'" ## Here is an example for your .nanorc. ## # syntax "nanorc" "\.?nanorc$" ## Possible errors and parameters # icolor brightwhite "^[[:space:]]*((un)?set|include|syntax|i?color).*$" ## Keywords # icolor brightgreen "^[[:space:]]*(set|unset)[[:space:]]+(autoindent|backup|backupdir|backwards|boldtext|brackets|casesensitive|const|cut|fill|historylog|matchbrackets|morespace|mouse|multibuffer|noconvert|nofollow|nohelp|nonewlines|nowrap|operatingdir|preserve|punct)\>" "^[[:space:]]*(set|unset)[[:space:]]+(quickblank|quotestr|rebinddelete|rebindkeypad|regexp|smarthome|smooth|speller|suspend|tabsize|tabstospaces|tempfile|view|whitespace|wordbounds)\>" # icolor green "^[[:space:]]*(set|unset|include|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 brightblue "^[[:space:]]*#.*$"