Nano editor profile
Jump to navigation
Jump to search
Here's how I call nano
EXECUTE '!nano -FHLOSWcdiklmptwxT' : TAB_WDTH : ' -Y pick ' : THE_PATH : '/' : THE_FILE
/etc/nanorc
## 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 }.
## Marcus: I've tried to modify the key-mapping to be as 'normal' as
## possible, but compromises were required. For example, Esc will
## exit search and replace, but F4 exits nano, not Ctl+F4. My other
## choices may not suite you, but they are easily altered below.
## 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 overrides "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" overrides 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 3
## 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 parts of words.
set wordbounds
## Enable the new (EXPERIMENTAL) generic undo code, not just for line
cuts
set undo
## Enable soft line wrapping (AKA full line display)
# set softwrap
## 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 "/path/to/syntax_file.nanorc"
##
## Unless otherwise noted, the name of the syntax file (without the
## ".nanorc" extension) should be the same as the "short description"
## name inside that file. These names are kept fairly short to make
## them easier to remember and faster to type using nano's -Y option.
##
## All regexes should be extended regular expressions.
## Key bindings
## Please see nanorc(5) for more details on this
##
## Here are some samples to get you going
##
# bind M-W nowrap main
# bind M-A casesens search
# bind ^S research main
# Any keys defined in 'all' menus can be superceded in specific menus.
bind ^C cancel all
bind ^U casesens all
bind M-X exit all
bind F3 searchagain all
bind F2 whereis all
bind ^F whereis all
# Main screen keys
bind ^C copytext main
bind ^X cut main
bind F4 exit main
bind ^Q exit main
bind M-] findbracket main
bind M-B firstline main
bind M-H firstline main
bind ^G gotoline main
bind M-/ help main
bind M-I indent main
bind ^O insert main
bind ^N insert main
bind M-E lastline main
bind ^A mark main
bind M-. nextbuf main
bind F10 nohelp main
bind ^P nowrap main
bind M-, prevbuf main
bind ^Y redo main
bind F5 refresh main
bind ^H replace main
bind M-= scrolldown main
bind M-- scrollup main
bind ^V uncut main
bind ^Z undo main
bind ^U unindent main
bind M-U unindent main
bind ^W writeout main
## Set this if your backspace key sends delete most of the time (2.1.3+)
# bind kdel backspace all
## Nanorc files
include "/usr/share/nano/nanorc.nanorc"
## C/C++
include "/usr/share/nano/c.nanorc"
## Cascading Style Sheets
include "/usr/share/nano/css.nanorc"
## Debian files
include "/usr/share/nano/debian.nanorc"
## Gentoo files
include "/usr/share/nano/gentoo.nanorc"
## HTML
include "/usr/share/nano/html.nanorc"
## PHP
include "/usr/share/nano/php.nanorc"
## TCL
include "/usr/share/nano/tcl.nanorc"
## TeX
include "/usr/share/nano/tex.nanorc"
## Quoted emails (under e.g. mutt)
include "/usr/share/nano/mutt.nanorc"
## Patch files
include "/usr/share/nano/patch.nanorc"
## Manpages
include "/usr/share/nano/man.nanorc"
## Groff
include "/usr/share/nano/groff.nanorc"
## Perl
include "/usr/share/nano/perl.nanorc"
## Python
include "/usr/share/nano/python.nanorc"
## Ruby
include "/usr/share/nano/ruby.nanorc"
## Java
include "/usr/share/nano/java.nanorc"
## AWK
include "/usr/share/nano/awk.nanorc"
## Assembler
include "/usr/share/nano/asm.nanorc"
## Bourne shell scripts
include "/usr/share/nano/sh.nanorc"
## POV-Ray
include "/usr/share/nano/pov.nanorc"
## XML-type files
include "/usr/share/nano/xml.nanorc"
## Pick/DataBasic files
include "/usr/share/nano/pick.nanorc"
/usr/share/nano/pick.nanorc
## Here is an example for Pick/DataBasic
##
## You'll need to append .pbc to your programs, at least temporarily,
just
## while being edited, because the sytax option (-Y/--syntax=) doesn't
## seem to work.
##
## nano -EFHLOSWcdiklmptwxT3 -o /pathname /pathname/filename.pbc
## nano -EFHLOSWcdiklmptwxT3
-o /home/marcus/Desktop/Stuff/Work/Clients/DAS/DAS/PRIVLIB /home/marcus/Desktop/Stuff/Work/Clients/DAS/DAS/PRIVLIB/AMEX.UPDATES.pbc
## !/usr/bin/nano -EFHLOSWcdiklmptwxT3
-o /home/marcus/Desktop/Stuff/Work/Clients/DAS/DAS/BLIB /home/marcus/Desktop/Stuff/Work/Clients/DAS/DAS/BLIB/BTREE.BROWSE.pbc
## /usr/bin/nano -EFHLOSWcdiklmptwxT3 -Y pick
-o /home/marcus/qm /home/marcus/qm/works/works/EMV~LIB~V_MAKE_PRIME
syntax "pick" "\.pbc$"
## Default color for everything
# If NOT using local, site-specific, standard var/prog/subroutine-name
highlighting.
icolor brightgreen ".*"
# If using local, site-specific, standard var/prog/subroutine-name
highlighting.
# Color everyithing red by default so any outstanding, unknown terms
stand out.
#icolor red ".*"
## Literal numerals
icolor yellow "(\(|=|#|,|<|\[|-|\+|\*|/|\s)[0-9.]*"
# If using local, site-specific, standard var/prog/subroutine-name
highlighting, then add them here.
#icolor green "(CUSTOMER(S|)|ORDER(S|)|INVOICE(S|)|PRODUCT(S|))"
## keywords
icolor blue "@\("
icolor blue "@(AUTHORIZATION|CRTHIGH|CRTWIDE|DAY|FALSE|ID|LOGNAME|MONTH|
PARASENTENCE|RECORD|SELECTED|SENTENCE|TRUE)[,;:\)'\"\s$]*"
icolor blue "@(A|F|I|R|S|SV|T|V)M"
icolor blue "\s(AND|BREAK|BY|CAPTURING|EQ|FROM|GE|GT|IN|LE|LT|MATCHES|
NE|ON|OR|RETURNING|SETTING|STEP|TO|WITH)\s"
icolor blue "(\s)(CASE|DATA|DO|ELSE|LOCKED|THEN)($|\s|;)"
icolor blue "(^|;|\s)(|\$|#)(COPYRIGHT|DEFINE|DEFFUN|EJECT|IFDEF|IFNDEF|
MAP|OPTIONS|PAGE|UNDEFINE)\s"
icolor blue "(^|;|\s)(BEGIN|CASE|CLEARFILE|(CLOSE|OPEN)(SEQ|)|COM(MON|)|
CONVERT|DEL(ETE|)|DIM(ENSION|)|EQU(ATE|)|FOR|IF|INPUT|LOCATE|SELECT(E|N|
V|)|SLEEP)\s"
icolor blue "(^|;|\s)(MAT(READ|WRITE)(U|)|NEXT|PRINT|PROMPT|READNEXT|
RELEASE|(PROC|TCL)(READ|WRITE)|(READ|WRITE)((|V|VU|U)|SEQ|LIST))\s"
icolor blue "(^|;|\s)(CRT|REPEAT)($|\s|;)"
icolor blue "(^|\s)LOOP($|\s|;)"
icolor blue "(^|\s)(WHILE|UNTIL)(\s)"
icolor blue "^\s*(END|NULL)($|\s|;)"
## Branches
# If NOT using local keyword highlighting, there's no need to reverse
the branches and labels.
icolor red "(^|;|\s)(GO(TO|SUB|)|CALL)\s\s*[A-Z_.0-9]*"
icolor red "(^|;|\s)(EXECUTE|CHAIN|PERFORM)\s"
icolor red "(^|;|\s)(EXIT|CONTINUE|STOP)\s*($|;)"
icolor red "(^|;|\s)(|\$)(INCLUDE|INSERT|CHAIN)\s"
icolor red "(^|;|\s)RETURN($|\s|;|\s\s*(TO|FROM)\s\s*[A-Z_.0-9]*)"
# If using local keyword highlighting, reverse the branches and labels.
#icolor white,black "(^|;|\s)(GO(TO|SUB|)|CALL)\s\s*[A-Z_.0-9]*"
#icolor white,black "(^|;|\s)(EXECUTE|CHAIN|PERFORM)\s"
#icolor white,black "(^|;|\s)(EXIT|CONTINUE|STOP)\s*($|;)"
#icolor white,black "(^|;|\s)(|\$)(INCLUDE|INSERT|CHAIN)\s"
#icolor white,black "(^|;|\s)RETURN($|\s|;|\s\s*(TO|FROM)\s
\s*[A-Z_.0-9]*)"
## Functions
icolor blue "(^|;|\s)(CONVERT|LOCATE)\("
icolor blue "(\(|=|/|\*|\+|-|,|:|\s|'|\")(ABS|ALPHA|ACCESS|ASC|ASCII|
ASSIGNED|CHANGE|CHAR|(|D)COUNT|DELETE|FIELD|(I|O)CONV|INDEX|INSERT|INT|
LEN|LOWER|MOD|NOT|NUM|RAISE|RIGHT|SEQ|SPACE|SQRT|STATUS|STR|SYSTEM|SWAP|
TRIM|UPCASE)\("
icolor blue "(\(|=|/|\*|\+|-|,|:|\s|'|\")(DATE|TIME)\(\)"
## Fix what literal numerals broke, and color operators and such.
icolor blue ",|;|:|<|>|=|#|\(|\)|\[|\]|/|\*|\+|-|!|&"
## strings
icolor yellow "\"[^\"]*\""
icolor yellow "'[^']*'"
icolor yellow "\\[^\\]*\\"
## comments
icolor brightblack "(^|^[A-Z_.0-9]*|^[A-Z_.0-9]*:|;)\s*(!|\*).*$"
## Labels
# If using local keyword highlighting, there's no need to reverse the
branches and labels.
icolor red "^\s*(PROG(RAM|)|SUB(ROUTINE|)|FUN(CTION|))\s\s*[A-Z_.0-9]*"
icolor red "^[A-Z_.0-9]*:"
icolor red "^[0-9]*($|\s|;|:)"
# If using local keyword highlighting, reverse the branches and labels.
#icolor white,black "^\s*(PROG(RAM|)|SUB(ROUTINE|)|FUN(CTION|))\s
\s*[A-Z_.0-9]*"
#icolor white,black "^[A-Z_.0-9]*:"
#icolor white,black "^[0-9]*($|\s|;|:)"
## Trailing spaces
icolor black "[ ]*"
icolor ,red "\s*$"