ELPA Logo GNU-devel ELPA: nhexl-mode

nhexl-mode Atom Feed

Description
Minor mode to edit files via hex-dump format
Latest
nhexl-mode-1.5.0.20221215.5.tar (.sig), 2026-Aug-16, 60.0 KiB
Maintainer
Stefan Monnier <monnier@iro.umontreal.ca>
Other versions:
release version
Website
https://elpa.gnu.org/nongnu/nhexl-mode.html
ELPA's Repository
CGit or Gitweb
Badge

To install this package from Emacs, use package-install or list-packages.

Full description

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?

News

Since v1.5:
- New var `nhexl-nibble-copy-hex' to allow kill operations to copy
  the hex form when in nibble mode.