Homepage: https://elpa.gnu.org/packages/nhexl-mode.html
Author: Stefan Monnier
Updated:
Minor mode to edit files via hex-dump format
This package implements NHexl mode, a minor mode for editing files in hex dump format. The mode command is called `nhexl-mode'. This minor mode implements similar functionality to `hexl-mode', but using a different implementation technique, which makes it usable as a "plain" minor mode. It works on any buffer, and does not mess with the undo log or with the major mode. It also comes with: - `nhexl-nibble-edit-mode': a "nibble editor" minor mode. where the cursor pretends to advance by nibbles (4-bit) and the self-insertion keys let you edit the hex digits directly. - `nhexl-overwrite-only-mode': a minor mode to try and avoid moving text. In this minor mode, not only self-inserting keys overwrite existing text, but commands like `yank' and `kill-region' as well. - it overrides C-u to use hexadecimal, so you can do C-u a 4 C-f to advance by #xa4 characters. Even though the hex addresses and hex data displayed by this mode aren't actually part of the buffer's text (contrary to hexl-mode, for example, they're only added to the display), you can search them with Isearch, according to nhexl-isearch-hex-addresses and nhexl-isearch-hex-bytes. Known bugs: - When the buffer is displayed in several windows, the "cursor" in the hex area only reflects one of the window-points. Fixing this would be rather painful: - for every cursor, we need an extra overlay with the `window' property with its own `before-string'. - because that overlay won't *replace* the normal overlay (the one without the `window' property), we will need to *remove* that overlay (lest we get 2 before-strings) and replace it with N overlays with a `window' property (for all N other windows that don't have their cursor on this line). FWIW, the original `hexl-mode' has the same kind of problem. Wishlist: - An equivalent to hexl-mode's `hexl-bits'. - Always reload the file with find-file-literally instead of editing the multibyte representation?