Cursor is an important concept in any editor. It displays the position where the next editing command will take place.
Hex Editor Neo distinguishes between the navigation cursor and editing cursor. The cursor can be in any of these two types at any given time. Most of the time it is in navigation mode which is described in this section. See data modification section for more information on editing cursor.
As any editor window may have data pane and text pane, which essentially display the same data, cursor position applies to both panes simultaneously. To distinguish between the active and inactive pane, the cursor image in active pane is outlined, while in inactive pane it is not outlined. You can switch between data and text pane either by pressing the
TAB key, or using your mouse.
When the window does not have keyboard focus, the cursor image is not outlined in both panes.
Hex Editor Neo utilizes the unique feature called “unlimited editing space”. This means that you are not limited by the current file's size during editing. After the file data ends, the special “empty” data character is displayed. It consists of “.” symbols and is usually painted with different color (see Color Schemes for more information). Cursor movement is therefore is not limited by the file size. You are allowed to move cursor at any position beyond the end of file and then start typing data or apply any editor command.
If new data inserted or any editor command applied after the end of the file, the corresponding number of zeroed cells is inserted to extend the size of the file. This operation has constant time complexity. It also does not consume memory or disk space so it can be considered a “cheap” operation.
For convenience, the vertical scroll bar is scaled to display the real current size of the edited document. This allows you to quickly position a cursor to a real position within the document. Several keyboard navigation keys also respect the real current document size as described below.
Hex Editor Neo supports multiple navigation and editing cursors. An additional cursor is added by holding the
Alt key when left-clicking pressing on the cell. When multiple cursors are present, one of the cursors is considered “main”, or “default”. Use the
Ctrl+Left Arrow and
Ctrl+Right Arrow key combinations to switch between cursors.
The cursor may be driven by keyboard keys and key combinations. These key combinations repeat those found in almost every text/binary editor and cannot be customized:
If the cursor moves out of the window as a result of keyboard action, the window is automatically scrolled so the cursor is visible again. Several alternate cursors may collapse as a result of a navigation operation.
To scroll the contents of the window with a mouse, use the scroll bars or mouse wheel. Rotating the mouse wheel scrolls the contents of the window up or down by several rows at a time. Scrolling before the beginning of the document is not allowed, scrolling down is always allowed according to the “unlimited editing space” rule.
It is possible to scroll the window in such a way that all cursors are out of the view using mouse navigation. To quickly scroll back to the cursor, press one of the keyboard navigation keys or start modifying data. Alternatively, left-click any visible cell to move the cursor to it.
To scroll the contents of the window, swipe the window up or down. The amount of rows the window scrolls depends on the speed of a swipe gesture.
Mouse can also take part in cursor movement.
Left clicking any cell (in any visible pane) moves the cursor to that cell. This action removes all alternate cursors. Hold the
Alt key to add new alternate cursor (or remove one, if clicked on an alternate cursor).
Left-clicking on the cursor cell again enters the edit mode. In hexadecimal view types the actual position of this second click is used to move the caret to specific digit within the cell. In decimal or floating-point view types, the entire cell is always selected for editing.
All cursor movement actions can be used from scripts. IDocumentView.cursor property allows the script to control editor window cursor(s), including alternate cursors, cursor navigation and other related actions.