PPTools/Guiguts/Guiguts 2 Manual/Edit Menu
GUIGUTS VERSION 2 MANUAL
Describes features included in release 2.0.0 (July 2025)
Edit Menu, Selecting and Moving Text
Selecting Text
You select text in a variety of ways, most of which should be familiar:
click-drag | Select the text over which you drag. |
double-click | Select the whole word under the cursor. |
triple-click | Select the whole line under the cursor. |
shift-click | Extend the selection to the point where you click. |
shift-left-arrow | Extend the selection one character left. |
shift-right-arrow | Extend the selection one character right. |
shift-up-arrow | Extend the selection one line upward. |
shift-down-arrow | Extend the selection one line downward. |
shift-home | Extend the selection to the left margin. |
shift-end | Extend the selection to the right margin. |
shift-page up | Extend the selection up one screen height. |
shift-page-down | Extend the selection down one screen height. |
ctrl-shift-left-arrow | Extend the selection one word left. **Add macOS differences |
ctrl-shift-right-arrow | Extend the selection one word right. |
ctrl-shift-up-arrow | Extend the selection one paragraph upward. |
ctrl-shift-down-arrow | Extend the selection one paragraph downward. |
ctrl-shift-home | Extend the selection to the top of file. |
ctrl-shift-end | Extend the selection to the end of file. |
ctrl-a or Edit>Select All | Select the entire file. |
Click in line numbers | Select whole line. |
Click & drag in line numbers | Select several whole lines. |
Click on line number, then Shift-click on another line number | Select whole lines from first click to second. |
Also see Selecting Columns |
When you use a cursor-moving key (arrows, home/end, page up/down), any selection is cleared. If you want to use shift-click to make a selection larger than the screen display, use the scrollbar or Search>Jump to Line to find the target to click.
If you lose a selection, for example by inadvertently using an arrow key, you can reselect the same area by left-clicking the Selection field in the status bar.
If you hold the Alt key (Option key on macOS) while dragging, you create a column selection (discussed below).
Instead of cutting some selected text and pasting it somewhere else, you can click on the selected text and drag it to the new location. It is not possible to drag between the two split text windows. Holding one of Ctrl/Cmd/Shift modifier keys while dragging will copy selected text instead of moving. Dragging can be cancelled with the Escape key.
The Edit Menu
- SCREENSHOT: Edit Menu
Undo and Redo
Guiguts supports multiple levels of Undo. It keeps a log of recent editing operations. Apply Edit>Undo or ctrl-z (cmd-z on macOS) to undo actions from the most recent one back.
To Undo every change since the file was last saved, just re-open it without saving.
NOTE: It is safer not to rely on UNDO to undo operations that make a lot of changes, so before using features like AutoGenerate, or Rewrap, save a copy of the file. If you are not satisfied with the results, don't try to use UNDO, but revert to that saved copy. This also applies to search and replace operations where a single regex matches several lines of text - more details here.
Most operations that are performed with a single click or command are undone with a single Undo.
It is possible to undo a Rewrap operation of a small selection, but it is not advisable. Currently, page markers in the rewrapped text do not always return to their original positions when rewrap is undone. Instead of undoing a rewrap, select the text and wrap it again to the correct margins.
Generally you can Redo anything you Undo by applying Edit>Redo or ctrl-y (shift-cmd-z on macOS). Each Redo reverses the effect of one Undo.
Type, Cut, Copy, Paste
To replace text, select it and begin typing. What you type replaces the selection. If there is no selection, what you type goes into the document at the insertion point.
The familiar Cut, Copy, and Paste operations are available in the Edit menu and the standard keyboard shortcuts: ctrl+c, ctrl+x, and ctrl+v (***Mac equivalents).
- SCREENSHOT: Context menu
You can right-click within the main window to pop-up a small menu offering Cut, Copy, Paste, and Select All. Guiguts will move the cursor to where you clicked so that you can paste whatever is on the clipboard. If you choose Cut or Copy, that action will be performed on the currently-highlighted text.
Copy and Paste Between Documents and Programs
To copy text between documents, select and copy what you need from the first document, then use File>Open to open the second document, which also closes the first document. (If you are using Windows, you can open the second document in a second copy of Guiguts while keeping the first document open.) Then, paste the copied text where you need it in the second document.
Selecting Columns
Guiguts allows you to select a column of text and copy it, paste it, fill it (NYI), or move it horizontally (NYI). Columnar selections are supported mainly to help you work with ASCII tables. Columnar selections are not fully integrated with the rest of the editing facilities and you can get odd results when using them in ways not explicitly intended.
To select a column, first clear any other selection by clicking in the text or pressing an arrow key. Then hold down a the Alt key (Option key on Macs) and drag diagonally to select a rectangle of text. The selection field in the status bar shows the size of the selection. Shift-clicking in that field switches between column selection and normal selection. Therefore an alternative way to column-select a rectangle of text is to select in the usual way by dragging from the top left of the rectangle to the bottom right, then Shift-clicking the selection field in the status bar. The Toggle Column/Regular Selection entry in the Edit menu performs the same function.
- SCREENSHOT: Column selection
Unlike in Guiguts 1, you can extend a columnar selection by Alt (or Option)-clicking with the Shift key also held down.
With a columnar selection active you can cut, copy, and paste it, shift the selection left or right with the shift commands in the Text menu (NYI), or fill the selection with flood-fill (NYI).
Copy, Cut, and Paste of a column selection can be performed using the normal Copy, Cut and Paste functions or shortcut keys. In addition, a normal selection can be converted to a column selection and copied or cut using the Column Copy and Column Cut entries in the Edit Menu. Similarly, the Column Paste entry will attempt to paste the text from the clipboard into your document in a column/rectangle shape. For example, if you cut/copy a word, then column select a rectangle that is several lines long, then Column Paste will paste that word into each line of the rectangle.
If you are familiar with other editors primarily designed for software developers, you should note that Guiguts does not support all the features typically found in those editors. For example, it is not possible in Guiguts to select a zero-width rectangle, (or "multiple line" cursor), and then type, with characters being replicated in each line. Also, if you have a column selection and begin to type, the selected text will not be deleted. The selection will be cancelled and the characters you type will be inserted in the usual manner.
Select All
This selects all of the text in the document. The standard shortcut, ctrl-a (cmd-a on Macs), also does this.
Restore Selection
Just like clicking in the selection field of the status bar, this restores the most recent selection range. This can be performed when there is currently no selection, or after a new selection has been made.
Change Case
These four options change the upper/lower-case of the letters within the selection:
- lowercase (ctrl-l as in 'EL'): makes all of the letters lowercase;
- Sentence case: capitalizes the first letter of the selection and makes the others lowercase;
- Title Case (ctrl-t): makes the first letter of most words uppercase and the others lowercase; articles (e.g., 'a', 'the') and some prepositions are made lowercase;
- UPPERCASE (ctrl-u): makes all of the letters uppercase.
Surround Selection With
- SCREENSHOT of Surround With dialog
Use this dialog to surround a simple or column selection with a piece of text before and a piece of text after. The central button autofills the After field using the Before field, for example, the close tag if the Before field is an HTML open tag, or a matching bracket or quote.
Click Apply to apply the surrounding text, or OK to apply it and close the dialog.
The Apply command is also available in the Command Palette to allow the user to assign it a keyboard shortcut.
Right-to-left Text
This experimental feature is to improve the display of Hebrew and Arabic text, which is displayed right to left (RTL), and attempts to display the text in the correct direction. To paste Hebrew text on Windows, or Hebrew and Arabic text on Linux, use the new Paste Hebrew/Arabic Text button. This reverses the text in a platform appropriate manner, and also adjusts it when the file is saved and reloaded. Do not attempt to paste a mixture of RTL and LTR text. As with all versions of Guiguts 1 and 2, if you position the insert cursor within the RTL text, characters may jump around unexpectedly, but will be restored when the cursor is moved away.
Settings
This displays the Settings (or Preferences) dialog where various Guiguts settings can be viewed and adjusted. The settings are grouped into tabs, which can be selected at the top of the dialog. These user preferences, and many other settings, are stored in the GGprefs.json file in your Documents/GGprefs folder (Windows and macOS) or .ggpreferences directory (Linux). The Prefs file is backed up so that a "day-" and "week-old" version should be retained in the same directory, which can be restored if the original becomes corrupted. Since many settings, including Custom menu entries, are saved in the Prefs file, it would be disruptive if the Prefs file's contents were lost. To restore a Prefs file, quit Guiguts; rename `GGprefs.json` to `GGprefs_corrupt.json`; rename `GGprefs_day.json` to `GGprefs.json`; restart Guiguts; if problem not resolved, repeat this procedure, but restoring `GGprefs_week.json` rather than GGprefs_day.json.
Appearance
- SCREENSHOT of Appearance tab
In this tab, you can change the theme to be Dark or Light, or Default (which matches the light/dark setting of your system). Although colors will change immediately, some changes will not happen until you next exit and restart Guiguts.
There is also a High Contrast setting which uses black and white rather than shades of gray if you find that clearer.
On Windows or Linux, Use Tear-Off Menus controls whether each menu has a tear-off line at the top of it. Clicking this line allows you to tear off the menu and keep it visible, like a mini-dialog. This feature is not supported on macOS. These are described in more detail the Guiguts Main Window section
Some users find it helpful to display line numbers on the left, and column numbers across the top, of the text window. As well as here in the Appearance tab, display of these can be controlled by Shift-clicking and Shift-right-clicking the Line/Column number display in the status bar.
Because character names are differing lengths, some users may find it distracting as they navigate through the file when the length of the current character field in the status bar changes. This can be turned off either using the Show Character Names in Status Bar setting, or by clicking in the character field in the status bar.
When an error occurs, such as being unable to find a string when searching, Guiguts will give a warning. You can choose whether you want to hear an audible warning bell, and independently if you want a visible warning, where the first entry in the status bar will flash red. You can enable either, both or neither of these warning types.
Colors
- SCREENSHOT of Colors tab
In the Colors tab, you can change most of the colors used within Guiguts, such as the default text color, selected text background color, highlight colors, etc. For each color you can configure, you will see a small text box showing how that color will appear in the main text window. By left-clicking the text, you can set the foreground or text color, and by right-clicking you can set the background color. For a few color types, either the foreground or background may not be configurable. In addition to setting the foreground and background colors, you can also set whether the text will be underlined or will have a border drawn round it. The underline and border settings may be useful for users who find multiple colors distracting or hard to distinguish. Each color also has a Reset button that will restore Guiguts' default for that type of highlighting.
Fonts
- SCREENSHOT of Fonts tab
The Fonts tab can be used to set the font family and font size for the main text window. The recommended font for this is DP Sans Mono.
By default, a system font is used for Menu, Labels, Buttons, etc., in the Guiguts user interface. If you prefer to use a different font family or size, uncheck the "Use System Font for Menus, Labels, Buttons, etc." and select the family and size you want.
Image Viewer
- SCREENSHOT of Image Viewer tab
The Image Viewer is displayed to the right of the text window by default. The two radio buttons in the Image Viewer tab allow you to switch it to be displayed on the left.
When Auto Image is turned on, the image viewer shows the correct scan for the page where the cursor is in the main window. However, you can use the controls in the image viewer to manually look at the next or previous page. When you return focus to the main window, Auto Image will re-load the correct image for the current page again. To warn you that the image being shown is not the one you manually selected, the border of the image viewer flashes. If you do not like that, you can turn it off here.
In addition to the internal Image Viewer, you can use an external viewer to display scan files, instead of, or in addition to, the internal viewer. If you do not specify a particular viewer, the computer's default viewer for PNG files will be used. Typically, this is the viewer that would open a PNG file when the operating system is asked to "open" or "view" the file, or it is double-clicked when using Windows. Alternatively the user can choose a specific viewer, such as XnView on Windows, Pixea on macOS, or eog -w on Linux, which will then be used instead of the computer's default viewer. Use the Browse button or type the full command to select the viewer on your computer, and enable its use by checking the Use External Viewer box.
Wrapping
- SCREENSHOT of Wrapping tab
These settings control the behavior of the rewrapping algorithm in the program. In addition to a label describing its purpose, each number entry field has a tooltip which can be viewed by hovering over it.
Advanced
- SCREENSHOT of Advanced tab
Depending on the size of font, your computer, and your settings, you may want to add some extra spacing between lines of text using the Text Line Spacing field. You can also make the insert cursor wider to make it more visible on the screen.
You can turn off the highlighting of the line where the cursor currently is if you find it distracting. Note that when turned on, the line highlighting may appear in both halves of a split window, as described in Known Issues.
By default, when you save your text/HTML file, Guiguts keeps a safe copy of your file as it was before you saved. If your file is named myfile.txt, the backup file will be named myfile.txt.bak. In addition, Guiguts can perform automatic saving for you, defaulting to every 5 minutes. Again, Guiguts keeps safe copies of your file before it did the autosave, which will be named ```myfile.txt.bk1``` for the most recent safe copy, and ```myfile.txt.bk2``` for the previous safe copy. When creating safe copies, Guiguts also makes similarly named copies of your .json file. If, for any reason, you want to restore one of the backups, you need to rename both your text/HTML file and your .json file, for example, rename myfile.txt.bak to restoredfile.txt, and myfile.txt.json.bak to restoredfile.txt.json. Note that the text/HTML file and the .json file must have the same base part of their name, or Guiguts won't know that the .json file belongs with the text/HTML file.
You can also turn off the pop-up tooltips if they are distracting and you are already familiar with the operation of the program. WARNING: If you are not familiar with how a feature works, it may be more difficult to use if you have turned off tooltips.
The "Strict Single Curly Quote Conversion" settings controls how strictly Curly Quote Conversion restricts its single quote conversion to those cases where it is certain which type of quote is required. If you uncheck this option, you must check the conversion results especially carefully.
You can also reset keyboard shortcuts to the default settings using the button in this tab.