FILEOBJ(1)                  General Commands Manual                  FILEOBJ(1)

NAME
       fileobj - ncurses based hex editor with vi interface

SYNOPSIS
       fileobj [options]... [paths]...
       fileobj [options]... [paths[@offset:length]]...
       fileobj [options]... [paths[@offset-(offset+length)]]...

DESCRIPTION
       ncurses(3) based hex editor with vi interface.

OPTIONS
       --version
           Print version and exit.

       -h, --help
           Print help message and exit.

       -R
           Use read-only mode.

       -B
           Use Python bytes based buffer for regular files.  This option is
           required to insert or delete bytes on some platforms.

       -o=[<number_of_windows>]
           Initially assign buffers given by paths to horizontally split
           windows.  When <number_of_windows> is omitted, assign one window for
           each buffer.

       -O=[<number_of_windows>]
           Initially assign buffers given by paths to vertically split windows.
           When <number_of_windows> is omitted, assign one window for each
           buffer.

       --bytes_per_line=<bytes_per_line>, --bpl=<bytes_per_line>
           Set number of bytes printed per line.  Available <bytes_per_line>
           formats are digit, "max", "min" and "auto".  "auto" sets the value
           to maximum 2^N that fits in the terminal width.  Defaults to "auto".

       --bytes_per_window=<bytes_per_window>, --bpw=<bytes_per_window>
           Set number of bytes printed per window.  Available
           <bytes_per_window> formats are digit, "even" and "auto".  "even"
           sets all windows to have the same size.  Defaults to "auto".

       --bytes_per_unit=<bytes_per_unit>, --bpu=<bytes_per_unit>
           Set number of bytes printed per unit.  Defaults to "1".

       --no_text
           Disable text window.

       --no_mouse
           Disable mouse events.

       --no_color
           Disable color for buffer contents.

       --force
           Ignore warnings which can be ignored.

       --verbose
           Enable verbose mode.

       --test_screen
           Enter ncurses(3) screen test mode.

       --test_mouse
           Enter ncurses(3) mouse test mode.

       --test_color
           Enter ncurses(3) color test mode.

       --list_color
           Print list of available screen colors and exit.  "r:g:b" format is
           printed if a terminal supports it.

       --env
           Print list of environment variables and exit.

       --command
           Print list of editor commands and exit. Also see :help.

       --sitepkg
           Print python(1) site-package directory and exit.

       --md=[<hash_algorithm>]
           Print message digest of files using <hash_algorithm> and exit.
           Defaults to "sha256".

       --blkcmp
           Compare contents of files and exit.

       --blkdump=[<dump_type>]
           Print contents of files to stdout and exit.  Available <dump_type>
           options are "text" and "raw".  Defaults to "text".

       --blkscan=[<scan_type>]
           Print file offsets of matched logical blocks and exit.  Available
           <scan_type> options are "zero", "nonzero", "ff", "nonff",
           "file:</path/to/file>", "FILE:</path/to/file>",
           "<hash_algorithm>:<value>" and "<hash_algorithm>".  Defaults to
           "zero".

       --concatenate
           Handle paths as a single concatenated file in a given order.
           Currently supported by --md, --blkdump and --blkscan.

       --lsblk
           Print list of block devices and exit.  This prints character devices
           on some platforms.

ENVIRONMENT
       FILEOBJ_USE_READONLY
           If defined, use read-only mode (equivalent to -R).

       FILEOBJ_USE_BYTES_BUFFER
           If defined, use Python bytes based buffer for regular files
           (equivalent to -B).

       FILEOBJ_USE_ASCII_EDIT
           If defined, use ASCII edit mode (equivalent to :set ascii).
           Defaults to binary edit mode if undefined.

       FILEOBJ_USE_IGNORECASE
           If defined, search operation is case-insensitive (equivalent to :set
           ic).  Defaults to case-sensitive if undefined.

       FILEOBJ_USE_SIPREFIX
           If defined, use 10^3(K) for kilo (equivalent to :set si).  Defaults
           to 2^10(Ki) if undefined.

       FILEOBJ_USE_WRAPSCAN
           If set to "false", search does not wrap around the end of the buffer
           (equivalent to :set nows).  Defaults to wrap around if undefined.

       FILEOBJ_USE_TEXT_WINDOW
           If set to "false", do not use text window.  Defaults to use text
           window if undefined.

       FILEOBJ_USE_MOUSE_EVENTS
           If set to "false", do not use mouse events.  Defaults to use mouse
           events if undefined.

       FILEOBJ_USE_COLOR
           If set to "false", do not use color for buffer contents (equivalent
           to --no_color).  This set to "false" is equivalent to
           FILEOBJ_COLOR_ZERO, FILEOBJ_COLOR_FF, FILEOBJ_COLOR_PRINT,
           FILEOBJ_COLOR_DEFAULT, FILEOBJ_COLOR_OFFSET set to "none" or
           "white".  Defaults to use color if undefined.

       FILEOBJ_USE_UNIT_BASED
           If defined, editor operations are on per unit basis where possible.
           Defaults to on per byte basis.

       FILEOBJ_USE_BACKUP
           If defined, create backup files under ~/.fileobj.  Backup files
           start with '.'.  Only applies to regular files.

       FILEOBJ_USE_TRUNCATE_SHRINK
           If defined, allow :truncate to shrink truncate.  Defaults to
           disallow.

       FILEOBJ_USE_LINE_SCROLL
           If set to "false", enable page scroll mode.  Defaults to line scroll
           mode.

       FILEOBJ_USE_LOWER_CASE_HEX
           If defined, use lower case for alphabets in hexadecimal.  Defaults
           to upper case.

       FILEOBJ_BUFFER_SIZE
           Set custom buffer size if larger than 0.  Defaults to 0.

       FILEOBJ_LOGICAL_BLOCK_SIZE
           Set custom logical block size if larger than 0.  Defaults to 0.

       FILEOBJ_ENDIANNESS
           If set to "little" or "big", set endianness for multi-bytes data
           (equivalent to :set le and :set be).  Defaults to host endian if
           undefined.

       FILEOBJ_ADDRESS_RADIX
           If set to "16", "10" or "8", show address in either hexadecimal,
           decimal or octal (equivalent to :set address).  Defaults to "16" if
           undefined.

       FILEOBJ_BYTES_PER_LINE
           Set number of bytes printed per line (equivalent to --bytes_per_line
           and :set bytes_per_line).

       FILEOBJ_BYTES_PER_WINDOW
           Set number of bytes printed per window (equivalent to
           --bytes_per_window and :set bytes_per_window).

       FILEOBJ_BYTES_PER_UNIT
           Set number of bytes printed per unit (equivalent to --bytes_per_unit
           and :set bytes_per_unit).

       FILEOBJ_COLOR_CURRENT
           Set color for current cursor and window.  Defaults to "black,green"
           if undefined.  Set blank string to disable.  See --list_color for
           available colors.

       FILEOBJ_COLOR_ZERO
           Set color for bytes with a value of 0x00.  Defaults to "green" if
           undefined.  Set blank string to disable.  See --list_color for
           available colors.

       FILEOBJ_COLOR_FF
           Set color for bytes with a value of 0xff.  Defaults to "magenta" if
           undefined.  Set blank string to disable.  See --list_color for
           available colors.

       FILEOBJ_COLOR_PRINT
           Set color for printable bytes.  Defaults to "cyan" if undefined.
           Set blank string to disable.  See --list_color for available colors.

       FILEOBJ_COLOR_DEFAULT
           Set default color for buffer contents.  Defaults to "none" if
           undefined.  See --list_color for available colors.

       FILEOBJ_COLOR_VISUAL
           Set color for visual region.  Defaults to "red,yellow" if undefined.
           Set blank string to disable.  See --list_color for available colors.

       FILEOBJ_COLOR_OFFSET
           Set color for offsets in editor windows.  Defaults to "none" if
           undefined.  See --list_color for available colors.

       FILEOBJ_DISAS_ARCH
           Set architecture name to use for d command.  Defaults to "x86" if
           undefined, and currently only "x86" is supported.

       FILEOBJ_DISAS_PRIVATE
           Set FILEOBJ_DISAS_ARCH specific data for d command.  Defaults to use
           64 bit mode on x86 if undefined.

FILES
       ~/.fileobj
           A directory automatically created by fileobj(1).  Note that on
           Windows, name of files automatically created under this directory
           end with ".txt".

       ~/.fileobj/cstruct
           A default path for configuration file for :cstruct.  Automatically
           created.

       ~/.fileobj/env
           A file to specify environment variables via file at runtime.
           Existing environment variables take precedence over the file
           contents.  Automatically created.

       ~/.fileobj/history
           A JSON file which contains history of executed editor commands.
           Automatically created.

       ~/.fileobj/log
           A text file which contains logged messages.  Automatically created.

       ~/.fileobj/marks
           A JSON file which contains per-file marks marked by an editor
           command.  Automatically created.

       ~/.fileobj/session
           A JSON file which contains session information.  Automatically
           created.

       ~/.fileobj/.YYYY-MM-DD-HH-MM-SS.name.bak
           Temporary backup file format.

AUTHORS
       Tomohiro Kusumi <kusumi.tomohiro@gmail.com>

FILEOBJ 0.8.7                     May 12, 2025                       FILEOBJ(1)
