man pages section 1: User Commands

Exit Print View

Updated: July 2014

hexedit (1)


hexedit - view and edit files in hexadecimal or in ASCII


hexedit  [-s  |  --sector]  [-m  | --maximize] [-h | --help]


User Commands                                          HEXEDIT(1)

     hexedit - view and edit files in hexadecimal or in ASCII

     hexedit  [-s  |  --sector]  [-m  | --maximize] [-h | --help]

     hexedit shows a file both in ASCII and in  hexadecimal.  The
     file  can be a device as the file is read a piece at a time.
     You can modify the file and search through it.

     -s, --sector
          Format the display to have entire sectors.

     -m, --maximize
          Try to maximize the display.

     -h, --help
          Show the usage.

COMMANDS (quickly)
     <, > :  go to start/end of the file
     Right:  next character
     Left:   previous character
     Down:   next line
     Up:     previous line
     Home:   beginning of line
     End:    end of line
     PUp:    page forward
     PDown:  page backward

     F2:     save
     F3:     load file
     F1:     help
     Ctrl-L: redraw
     Ctrl-Z: suspend
     Ctrl-X: save and exit
     Ctrl-C: exit without saving

     Tab:    toggle hex/ascii
     Return: go to
     Backspace: undo previous character
     Ctrl-U: undo all
     Ctrl-S: search forward
     Ctrl-R: search backward

     Ctrl-Space: set mark

SunOS 5.11          Last change: 12 July 1998                   1

User Commands                                          HEXEDIT(1)

     Esc-W:  copy
     Ctrl-Y: paste
     Esc-Y:  paste into a file
     Esc-I:  fill

COMMANDS (full and detailed)
     o Right-Arrow, Left-Arrow, Down-Arrow, Up-Arrow -  move  the
     o Ctrl+F, Ctrl+B, Ctrl+N, Ctrl+P - move the cursor.
     o    Ctrl+Right-Arrow,   Ctrl+Left-Arrow,   Ctrl+Down-Arrow,
     Ctrl+Up-Arrow - move n times the cursor.
     o Esc+Right-Arrow, Esc+Left-Arrow,  Esc+Down-Arrow,  Esc+Up-
     Arrow - move n times the cursor.
     o Esc+F, Esc+B, Esc+N, Esc+P - move n times the cursor.
     o Home, Ctrl+A - go the beginning of the line.
     o End, Ctrl+E - go to the end of the line.
     o Page up, Esc+V, F5 - go up in the file by one page.
     o Page down, Ctrl+V, F6 - go down in the file by one page.
     o <, Esc+<, Esc+Home - go to the beginning of the file.
     o >, Esc+>, Esc+End - go to the end of the file (for regular
     files that have a size).
     o Ctrl+Z - suspend hexedit.
     o Ctrl+U, Ctrl+_, Ctrl+/ - undo all  (forget  the  modifica-
     o  Ctrl+Q - read next input character and insert it (this is
     useful for inserting control characters and bound keys).
     o Tab, Ctrl+T - toggle between ASCII and hexadecimal.
     o /, Ctrl+S - search forward (in ASCII  or  in  hexadecimal,
     use TAB to change).
     o Ctrl+R - search backward.
     o Ctrl+G, F4 - go to a position in the file.
     o  Return  - go to a sector in the file if --sector is used,
     otherwise go to a position in the file.
     o Esc+L - display the page starting at  the  current  cursor
     o F2, Ctrl+W - save the modifications.
     o F1, Esc+H - help (show the man page).
     o Ctrl+O, F3 - open another file
     o  Ctrl+L  -  redisplay  (refresh) the display (usefull when
     your terminal screws up).
     o Backspace, Ctrl+H - undo the  modifications  made  on  the
     previous byte.
     o  Esc+Ctrl+H  - undo the modifications made on the previous
     o Ctrl+Space, F9 - set mark where cursor is.
     o Esc+W, Delete, F7 - copy selected region.
     o Ctrl+Y,  Insert,  F8  -  paste  (yank)  previously  copied
     o Esc+Y, F11 - save previously copied region to a file.
     o Esc+I, F12 - fill the selection with a string
     o Esc+T - truncate the file at the current location
     o Ctrl+C - unconditional quit (without saving).

SunOS 5.11          Last change: 12 July 1998                   2

User Commands                                          HEXEDIT(1)

     o F10, Ctrl+X - quit.

     For  the Esc commands, it sometimes works to use Alt instead
     of Esc. Funny things here (especially for froggies :) egrave
     = Alt+H , ccedilla = Alt+G, Alt+Y = ugrave.

     At  the  bottom of the display you have the modeline (copied
     from emacs). As in emacs, you have the  indications  --,  **
     and  %% meaning unmodified, modified and read-only. Then you
     have the name of the file you're currently editing. Next  to
     it  is  the  current position of the cursor in the file fol-
     lowed by the total file size.  The  total  file  size  isn't
     quite correct for devices.
     While  in  --sector  mode, it shows the sector the cursor is

     You can edit in ASCII or  in  hexadecimal.  You  can  switch
     between  the  two  with Tab. When the file is read-only, you
     can't edit it. When trying to edit a read-only file, a  mes-
     sage (``File is read-only'') tells you it is non-writable.
     The  modifications  are  shown in bold until they are saved.
     The modeline indicates whether you have modified the file or
     When  editing  in  hexadecimal,  only  0,1,...,9, a,b,...,f,
     A,B,...F are legal.  Other keys are unbound. The first  time
     you  hit  an  unbound  key,  the help pops up.  It won't pop
     again unless you call the help directly (with F1).
     When editing in ascii, you can find it  difficult  to  enter
     characters  like  / which are bound to a function. The solu-
     tion is to use the quoted insert function  Ctrl+Q,  the  key
     after the quoted insert function is not processed by hexedit
     (like emacs' quoted-insert, or like the \ character in C).

     You can search for a string in ASCII or in hexadecimal.  You
     can switch between the two with Tab. If the string is found,
     the cursor is moved to the beginning of the  matching  loca-
     tion.  If the search failed, a message (``not found'') tells
     you so. You can cancel the search by pressing a key.
     The search in hexadecimal is a bit confusing. You must  give
     a  hexadecimal string with an even number of characters. The
     search can then be done byte by byte. If you want to  search
     a  long  number  (eg:  a  32  bit number), you must know the
     internal representation of that  number  (little/big  endian
     problem)  and  give it the way it is in memory. For example,
     on an Intel processor (little endian), you must  swap  every
     bytes: 0x12345678 is written 0x78563412 in memory and that's
     the string you must give to the search engine.
     Before searching you are asked  if  you  want  to  save  the
     changes, if the file is edited.

SunOS 5.11          Last change: 12 July 1998                   3

User Commands                                          HEXEDIT(1)

     For  more sophisticated search, see Volker Schatz's patch at

  Selecting, copying, pasting, filling
     First, select the part of the buffer you want to copy: start
     setting  the  mark where you want. Then go to the end of the
     area you want to copy (you can use the go  to  function  and
     the  search functions). Then copy it. You can then paste the
     copied area in the current file or in another file.

     You can also fill the selected area with a string or a char-
     acter:  start  choosing  the  block you want to fill in (set
     mark then move to the end of the block), and call  the  fill
     function  (F12). hexedit ask you the string you want to fill
     the block with.
     The code is not tuned for huge filling as it keeps the modi-
     fications  in memory until you save them. That's why hexedit
     will warn you if you try to fill in a big block.

     When the mark is set, the  selection  is  shown  in  reverse
     Be  aware  that  the  copied area contains the modifications
     done at the time of the copy. But if you undo the  modifica-
     tions, it does not change the content of the copy buffer. It
     seems obvious but it's worth saying.

     The scrolling is different whether you are in --sector  mode
     or  not.  In  normal mode, the scrolling is line by line. In
     sector mode, the scrolling is  sector  by  sector.  In  both
     modes,  you  can force the display to start at a given posi-
     tion using Esc+L.

     See  attributes(5)  for  descriptions   of   the   following

     |Availability   | editor/hexedit   |
     |Stability      | Uncommited       |
     od(1), hdump(1), hexdump(1), bpe(1), hexed(1), beav(1).

     Pixel (Pascal Rigaux) <>,
     Home page is <>.

SunOS 5.11          Last change: 12 July 1998                   4

User Commands                                          HEXEDIT(1)

     hexedit  is  Open  Source; anyone may redistribute copies of
     hexedit to anyone under the terms stated in the GNU  General
     Public License.

     You can find hexedit at
     <> and

     Anything you think could be nice...

     There are problems with the curses library given with Redhat
     5.0 that make hexedit think the terminal is huge. The result
     is that hexedit is not usable.

     The  shortcuts  work  on  some  machines, and not on others.
     That's why there are many shortcuts for each  function.  The
     Ctrl+Arrows  and  the  Alt+. do not work work as they should
     most of the time. On SUNs, you must do Ctrl+V-Ctrl+V instead
     of Ctrl+V (!); and the Alt key is the diamond one.

     While searching, it could be interesting to know which posi-
     tion the search has reached. It's always nice to  see  some-
     thing moving to help waiting.

     The hexadecimal search could be able to search modulo 4 bits
     instead of 8 bits.  Another feature  could  be  to  complete
     padd odd length hexadecimal searches with zeros.

     I have an example where the display is completly screwed up.
     It seems to be a bug in  ncurses  (or  maybe  in  xterm  and
     rxvt)??  Don't know if it's me using ncurses badly or not...
     It seems to happen when hexedit leaves only one space at the
     end  of  the  lines...  If  anyone  has a (or the) solution,
     please tell me!

     If you have any problem with the program (even a small one),
     please do report it to me. Remarks of any kind are also wel-

     This  software  was   built   from   source   available   at    The  original
     community       source       was       downloaded       from

     Further  information about this software can be found on the
     open  source  community   website   at   http://merd.source-

SunOS 5.11          Last change: 12 July 1998                   5