# help message for command-mode
# vim:set fileencoding=utf-8 expandtab tabstop=4 shiftwidth=4:
# 
# - each line must be no more than 78 columns.
# - lines begining in '<<' are displayed with reversed color.
# - It is not necessary to escape the '"' in the message.
#
#         1         2         3         4         5         6         7
#123456789012345678901234567890123456789012345678901234567890123456789012345678
#
"<< how to start >>"
"hxavi [-a] [-b] [+[address]] filename                                         "
"       -a                 : use alternative screen if possible                "
"       -b                 : supports large file (limited editing options)     "
"       +[address]         : jump to address on startup                        "
"                                                                              "
"<< how to save file and/or quit >>"
":q<ent>              : quit without saving file                               "
":q!<ent>             : quit without saving file even if changes are made      "
":w   [{altname}]<ent>: save file                                              "
":w!  [{altname}]<ent>: force to save file                                     "
":wq  [{altname}]<ent>: save file and quit                                     "
":wq! [{altname}]<ent>: force to save file and quit                            "
":ZZ                  : save if any changes and quit                           "
":ZQ                  : quit without saving file even if changes are made      "
"                                                                              "
"<< motion >>"
"h|^H|<bs>|<left> / l|<spc>|<right>                                            "
"                     : left/right                                             "
"k|^P|<up> / j|^N|<down>                                                       "
"                     : up/down                                                "
"0|^ / $              : to first/last byte in the line                         "
"+|<ent> / -          : down/up 1 line, on the first byte                      "
"H|<home> / M / L     : to the top/middle/last line, on the first byte         "
"<end>                : to the last line, on the last byte                     "
"zt / zz / zb         : redraw, current line at top/center/bottom of window    "
"z<ent> / z. / z-     : redraw, current line at top/center/bottom of window    "
"                       and move the cursor to the left edge                   "
"^Y / ^E              : 1 line upwards/downwards                               "
"^U / ^D              : 1/2 window upwards/downwards                           "
"^B|<pgup> / ^F|<pgdn>: previous/nest page                                     "
"gg / G               : to the top/bottom left edge of the file                "
":go {address}<ent>   : jump to the address                                    "
":{address}<ent>      : jump to the address                                    "
"                                                                              "
"<< motion (summary) >>"
"                                                ^                             "
"                            ^Y       ^ ^U       | ^B|<pgup>                   "
"          +---------------^----------|----------|--------------+              "
"          | H|<home><--                                        |              "
"          |                          k|^P                      |              "
"          | -       <--               ^                        |              "
"          | 0|^     <--   <bs>|^H|h <-X-> l|<spc>          ->$ |              "
"          | +|<ent> <--               v                        |              "
"          |                          j|^N                      |              "
"          | M       <--                                        |              "
"          |                                                    |              "
"          |                  -->:g address<ent>                |              "
"          |                                                    |              "
"          |                                                    |              "
"          |                                                    |              "
"          | L       <--                              --> <end> |              "
"          +---------------v----------|----------|--------------+              "
"                            ^E       v ^D       | ^F|<pgdn>                   "
"                                                v                             "
"                                                                              "
"<< search >>",                                                                
"fHH / FHH            : search forward/backward inline                         "
"tHH / THH            : search forward/backward inline (previous position)     "
";                    : search inline, repeat                                  "
"/{HH HH ...}<ent>    : search forward for hexadecimal pattern                "
"/"{text}<ent>        : search forward for string                             "
"?{HH HH ...}<ent>    : search backward for hexadecimal pattern                "
"?"{text}<ent>        : search backward for string                             "
"<tab> / <shift+tab>  : decimal data type selection                            "
"/:{decimal}<ent>     : search by decimal number, in the forward direction     "
"/:{decmin},{decmax}<ent>                                                      "
"                     : search by decimal number, specify range with two values"
"?:{decimal}<ent>     : search by decimal number, in the backward direction    "
"?:{decmin},{decmax}<ent>                                                      "
"                     : search backward, specify range with two values         "
"/<ent>               : repeat last search, in the forward direction           "
"?<ent>               : repeat last search, in the backward direction          "
"n/N                  : repeat last search in same/opposite direction          "
"mx                   : give the cursor position the name x (x: a to z)        "
"'x                   : junp to the location name x and move to the far left   "
"`x                   : junp to the location name x                            "
"                                                                              "
"<< edit >>"
"i|<ins>              : enter insert mode from the cursor position             "
"I                    : move to the beginning of line and enter insert mode    "
"a                    : move one byte ahead of the cursor and enter insert mode"
"A                    : move to the end of the line and enter insert mode      "
"o                    : move to the beginning of the next line and             "
"                       enter insert mode                                      "
"O                    : move to the beginning of line and enter insert mode    "
"i|...   ---+         : insert mode                                            "
"R       ---+         : replace mode                                           "
"           |                                                                  "
"           +--- 0-9|a-f|A-F   : change 4-bits                                 "
"           +--- "{string}<ent>: input data as string                          "
"           +--- :{number}<ent>: enter data in decimal number                  "
"           +--- #{binary}<ent>: enter data in binary number                   "
"           |                    (:set decimalview must be set)                "
"           +--- h|^H|<bs>     : delete 1 byte of input data                   "
"           +--- <tab>         : decimal data type selection                   "
"           +--- <shift+tab>   : decimal data type selection (reverse)         "
"           +--- <esc>         : end edit mode, back to command mode           "
"           +--- !             : show help messages in the mode                "
"           +--- ^L            : redraw the screen                             "
"rHH                  : overwrite a single byte                                "
"x|<del>              : delete 1 byte under the cursor                         "
"y{motion}            : copy data from current position to the location you    "
"                       moved using the motion command                         "
"yy|Y                 : copy the current line of data                          "
"d{motion}            : delete data from current position to the location you  "
"                       moved using the motion command                         "
"dd                   : delete the current line of data                        "
"D                    : delete data from the curosr position to the end of line"
"p                    : insert the copied or deleted data just after the cursor"
"P                    : insert the copied or deleted data just before the cursor"
".                    : repeat the last editing command                        "
""x{command(y|d|...)} : save command results in register x                     "
":i {source address},{end address},{dest address}<ent>                         "
"                     : block copy (insert)                                    "
":d {start address},{end address}<ent>                                         "
"                     : block delete                                           "
"u                    : undo changes                                           "
"^R                   : redo changes                                           "
"                                                                              "
"<< misc >>"
"^L                   : redraw the screen                                      "
"^G                   : show filename                                          "
"<tab>                : data type selection in decimalview                     "
"<shift+tab>          : data type selection in decimalview (reverse direction) "
":!{command}<ent>     : execute command with shell                             "
":bitmap<ent>         : show bitmap view of data                               "
"    ^F / ^B | ^D / ^U | ^E / ^Y | ^N / ^P | zt / zz / zb | z<ent> / z. / z-   "
"                              : vertical scroll of display                    "
"    j / k / h / l / H / M / L / 0 / $                                         "
"                              : move cursor                                   "
"    < / >                     : side-scroll of display                        "
"    + / -                     : increase/decrease the number of bytes         "
"    ( / )                     : rotate left/right of data                     "
"    U                         : turn the image upside down                    "
"    W                         : invert the black and white of the image       "
"    s / r                     : set / reset one bit under cursor              "
"    u                         : undo changes                                  "
"    ^R                        : redo changes                                  "
"    ^L                        : redraw the screen                             "
"    q|<esc>                   : end bitmap view                               "
":bytemap<ent>        : show bytemap view of data                              "
"    ^F / ^B | ^D / ^U | ^E / ^Y | j / k | ^N / ^P                             "
"                              : scrolling the display                         "
"    + / -                     : increase/decrease the number of bytes         "
"                                displayed on one line                         "
"    ( / )                     : rotate left/right of data                     "
"    <tab> / <shift+tab>       : change the range of values of data            "
"    q|<esc>                   : end bytemap view                              "
"    g                         : end bytemap view, move to the cursor position "
":cmap                         : displays 256 color samples. quit with q or :q "
":file {newname}<ent>          : change filename to 'newname'                  "
":help<ent>                    : show this help                                "
":histogram<ent>               : display data distribution as a histogram      "
"    h / l                     : move left/right of display                    "
"    j / k                     : enlargement/reduction of the vertical axis    "
"    q|<esc>                   : end histogram view                            "
":logo<ent>                    : show program logo                             "
":man<ent>                     : show manual. quit with q or :q                "
":set all<ent>             : show all current options                          "
":set ambiwidth[=(single|double)]<ent>                                         "
"                          : set width of ambiguous chars                      "
":set biblen[=N]<ent>      : cursor blinking interval on bitmap (millisec)     "
":set bidlen[=N]<ent>      : cursor blinking interval on dump screen (msec)    "
":set bytes[=N]<ent>       : set the number of bytes in a line                 "
":set cmdenter[={commands}]<ent>                                               "
"                          : instructions when entering the command line       "
":set cmdleave[={commands}]<ent>                                               "
"                          : instructions when leaving the command line        "
":set color                : displays the current color settings               "
":set color {place} {part}=N                                                   "
":                         : updates the coloring of each part to N            "
":set [no]decimalview<ent> : specifying the decimal display mode               "
":set encoding[=(enc)]<ent>: set encoding at character area                    "
":set endian[=(little|big)]<ent>                                               "
"                          : endian specification of decimalview               "
":set [no]flash<ent>       : set visible bell (flash)                          "
":set helplang[=(en_US|ja_JP|..)]<ent>                                         "
"                          : choose language of help messages                  "
":set [no]hideescseq<ent>  : display escape sequences as speces                "
":set hxaviend[=commands]<ent>                                                 "
"                          : instructions to execute when exiting hxavi        "
":set lines[=N]<ent>       : set the number of lines                           "
":set ttimeoutlen[=N]<ent> : timeout length after <esc> (milliseconds)         "
":set [no]usecolor<ent>    : set color option                                  "
":set [no]wrapscan<ent>    : set scan option for search                        "
"                                                                              "
"<< count of comamnds >>"
" - decimal number     : [0-9]+             example: 123, 2300, ...            "
" - hexadecimal number : 16#[0-9a-fA-F]+#   example: 16#ABC0#, 16#12cf#, ...   "
" - octal number       : 8#[0-7]+           example: 8#776, 8#1000, ...        "
" - binary number      : 2#[0-1]+           example: 2#1000000, 2#10110011, ..."
"                                                                              "
"<< abbreviating comamnds >>"
"For words used in commands beginning with ":", you only need to type the      "
"minimum number of characters that are distinct from others.                   "
"                                                                              "
"example        :set ambiwidth=double<ent>  --> :s am=d<ent>                   "
"               :set nowrapscan<ent>        --> :s now<ent>                    "
"                                                                              "
#
# end of message
