1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="basics-edit-file">
<info>
<link type="guide" xref="index#basics"/>
<revision version="0.1" date="2022-01-04" status="incomplete"/>
<credit type="author copyright">
<name>Logan Rathbone</name>
<email>poprocks@gmail.com</email>
<years>2022</years>
</credit>
</info>
<title>Editing files</title>
<section>
<title>Toggling the hex or ASCII panes</title>
<p>File can be edited in GHex from either the hex pane or the ASCII pane.</p>
<p>To focus either pane to accept your keystrokes, you may click on the appropriate pane, or:</p>
<list>
<item>
<p>Press <keyseq><key>Alt</key><key>Left</key></keyseq> to focus the hex pane, and</p>
</item>
<item>
<p>Press <keyseq><key>Alt</key><key>Right</key></keyseq> to focus the ASCII pane.</p>
</item>
</list>
</section>
<section>
<title>Editing the file using the hex or ASCII pane</title>
<p>Edit the ASCII format in the same way you edit a normal text file.</p>
<p>To edit the hexadecimal format, use the values 0 to 9 and a to f. This
operation is not case-sensitive.</p>
<p>Use any of the following methods to move the cursor around the file:</p>
<list>
<item>
<p>Use the scrollbar on the window and the mouse to select a byte by clicking on it.</p>
</item>
<item>
<p>Use the arrow keys, <key>Home</key>, <key>End</key>, <key>PageUp</key> or <key>PageDown</key> on the keyboard.</p>
</item>
<item>
<p>Choose <gui>Jump to Byte</gui> from the (Main menu) or press <keyseq><key>Ctrl</key><key>J</key></keyseq>,
and enter the cursor offset as a decimal or hexadecimal value.
The format of the hexadecimal value must be 0x followed by the offset, for example 0x3.</p>
</item>
</list>
<p>To delete or zero-out data, use either the <key>Delete</key> or
<key>Backspace</key> keys. <gui>Cut</gui> operations will also have the
side-effect of removing or zeroing-out data. This behaviour is different
depending on whether or not <gui>Insert Mode</gui> is enabled. For more
information, please review the section below.</p>
</section>
<section>
<title>Insert mode</title>
<p><gui>Insert Mode</gui> can be toggled on or off by pressing <key>Insert</key>, or by
clicking the <gui>Toggle insert mode</gui> button in the status bar.</p>
<p>When <gui>Insert Mode</gui> is enabled, this means data will be added to the file as
opposed to replacing existing data.</p>
<p>Unlike traditional text editors, having <gui>Insert Mode</gui> <em>off</em> is
considered the default state in GHex, given that hex editors are routinely used
to edit existing data in binary files that are very specifically laid out. In
some cases, such files may be of a fixed size and increasing or decreasing
their size may cause undefined or unwanted behaviour in applications that open
them.</p>
<p>Along these lines, <em>delete</em> operations work differently depending
upon whether or not <gui>Insert Mode</gui> is enabled.</p>
<p>If <gui>Insert Mode</gui> is enabled, delete operations (eg, by pressing
<key>Delete</key>, <key>Backspace</key>, or by a <gui>cut</gui> operation)
will alter the file length, by removing the data from the file.</p>
<p>If <gui>Insert Mode</gui> is not enabled, <gui>delete</gui> operations will instead
zero-out affected bytes within the file, so as to avoid changing the length of
the file.</p>
</section>
<section>
<title>Setting geometry</title>
<p>By default, GHex fits as many characters as the width of the window can
reasonably allow. However, GHex also allows you to specify how many
characters will be displayed per line. This can be useful when working with
data that is grouped into chunks (eg, 16 bytes at a time) or simply as a way of
visually keeping track of offsets on a line-by-line basis.</p>
<p>In GHex, this is called setting <em>geometry</em>. Geometry can be
customized by right-clicking anywhere in the hex or ASCII panes, and clicking
<gui>Geometry</gui>, unchecking <gui>Automatic geometry</gui> and then
specifying the desired number of characters per line. GHex will then
automatically reformat the hex and ASCII panes accordingly. This only takes
effect for the file being worked on, and does not persist across sessions.</p>
</section>
</page>
|