HEXCURSE(1)

πŸ’– HEXCURSE πŸ’–

okay bestie, listen β€” this is hexcurse, an ncurses-based hex editor. yeah. a hex editor that lives in your terminal. she's giving main character energy and she's been doing it since 2003. πŸ’…


✨ NAME ✨

hexcurse β€” an ncurses-based hex editor πŸ¦‹


🌸 SYNOPSIS 🌸

hexcurse [ -?  |  -help ] [ -a ] [ -r rnum ] [ -o outputfile ] [ [ -i ]
inputfile ]

like. that's the whole vibe check right there.


πŸŽ€ DESCRIPTION πŸŽ€

so hexcurse is an ncurses-based hexeditor utility β€” and no, that's not a typo, the manpage literally says "hexeditor" and we respect her β€” that is able to open, modify, and save a file to disk while providing useful editing and searching options. πŸ”₯

open it, poke at the bytes, save it, go about your day. iconic behavior honestly.


πŸ‘‘ OPTIONS πŸ‘‘

  • -? | -help β€” prints out the command usage info. your lil "what do I do" button. 🫢
  • -a β€” specifies that the addresses should be output in decimal format initially. (yes, initially. you can switch later, keep reading bestie.)
  • -r rnum β€” specifies the number of characters per line that the hexeditor should output. ⚠️ but listen: if rnum is either less than 1 or greater than the columns of the current terminal, hexcurse will just fill the terminal width β€” exactly as if the -r was not specified at all. so don't try to be cute with it.
  • -o outputfile β€” specifies the output file to be written to by default. πŸ“
  • [-i] inputfile β€” specifies the input file to be read in. and here's the tea: -i is not needed if inputfile is the last argument on the line. she's flexible like that. πŸ’–

🌈 INTERACTIVE OPTIONS 🌈

these are the ones you'll actually be mashing, so pay attention bestie 🧚

  • F1 | ctrl+? β€” shows key command help. your safety net. no shame in it.
  • F2 | ctrl+s β€” save the current file. πŸ’Ύ
  • F3 | ctrl+o β€” opens a file.
  • F4 | ctrl+g β€” goto a certain location in the current file. and the way this one works is depending on which way the addresses are being viewed at the moment, the search behaves differently:
    • if the addresses are currently in hex format, the search will search as if the input was given in hexadecimal format.
    • if the addresses are in decimal format, the function will search for the address in decimal.

so like. it matches your vibe. but also don't get it twisted. πŸ‘€

  • F5 | ctrl+f β€” search for a certain string in the current file. and again, it depends on which window you're currently editing in, so:
    • if editing in the hex window, the input should only be in hexadecimal, and it will search for the hexadecimal "string."
    • if the current editing window is the ASCII window, the input should be ASCII characters, and the search will find that ASCII string in the file.

window-dependent searching. she's complex. we love her. ✨

  • F6 | ctrl+a β€” switch between hexadecimal address values and decimal address values.
  • F7 | TAB β€” switch between the hexadecimal and ASCII editing windows. (this is the one you'll press a million times, fr fr.)
  • F8 | ctrl+q | ctrl+x β€” exit out of the program. three whole ways to leave. queen of boundaries. πŸ‘‘
  • Page Up | ctrl+u β€” scroll one 'page' up.
  • Page Down | ctrl+d β€” scroll one 'page' down.
  • Home | ctrl+t β€” returns to the top of the file. 🏠
  • End | ctrl+b β€” jumps to the bottom of the file.
  • ctrl+z β€” undo the last modification. and she's generous: this can be used multiple times. 😭 thank god.
  • Esc β€” escapes out of the save, open, goto, and find prompts. your "nvm" key. πŸ™ˆ

πŸ¦‹ SEE ALSO πŸ¦‹

hexdump(1) , ncurses(3)


πŸ’œ AUTHORS πŸ’œ

the authors of hexcurse are, and I quote:

and the current version of this software is always availabe at (their spelling, not mine, we keep it verbatim bestie 🫢):


πŸ’€ BUGS πŸ’€

okay so. the caveats. buckle up.

  • On some terminals the function keys will not work. 😭 (this is why the ctrl+ bindings exist, iykyk)
  • Support for resizable terminals is still a bit rudimentary. At this time, when the terminal is resized, the cursor is positioned at the beginning of the file. This will be corrected in the next release.
  • There is also an issue where the labels on the bottom of the screen do not resize correctly. A fix for the latter is in the works. πŸ”§

to report a bug or problem, please e-mail:

devel@jewfish.net

⭐ TODO ⭐

when they get the time, they would like to implement the ability to insert and delete data from the file. (yes. that's not a thing yet. we wait. patiently. 🌸)

please e-mail them with any additional suggestions.


ngl bestie, she's rough around the edges but she'll open, hex-edit and save your file and that's what matters. πŸŽ€

and that's the whole page!! this version of the hexcurse manual is dated 22 December 2003, and yeah, the footer says HEXCURSE(1) again because manuals are like that β€” they always gotta say their own name twice. πŸ’– mwah, go hex-edit something, and remember: save your work. ✨