Blocks

Selecting Blocks

Multi-Edit supports three block types: stream, line, and column. Marking text using one of these block types can be accomplished using any of the following procedures:

Using the Mouse

• Double clicking with the left button on a word in an Editing Window will cause that word to be marked as a columnar block. Triple clicking will cause the whole line to be marked.
• To mark a stream block, position the cursor at the desired starting point. While holding down the left mouse button, move the mouse cursor to the desired ending point and release the left mouse button.
• Another way to create a stream block is to place the text cursor to the desired starting position, then click and release on the desired ending point while pressing the 'SHIFT' key. A block will be marked from the starting position to the ending point. Extend the block marking by pressing the 'SHIFT' key while clicking at the desired ending point for the block.
• While marking a block with the mouse, you can click the right mouse button (while still holding down the left button), and the block mode will change. Repeatedly clicking the right mouse button will cycle through the line, stream, and column marking modes. Whenever you use the mouse to mark a block, a cursor will be displayed next to the mouse cursor indicating the type of block being marked.

By default, the mouse marks streams of text.

Using the Keyboard

Stream Block

• Hold the 'SHIFT' key while using the 'RIGHT' or 'LEFT' arrow keys. The status bar displays the number of characters you select.
• Or press 'ALT+F7' to begin marking a stream block. Press 'F7' to end marking.
• Or select Edit | Mark Stream to begin marking a stream block. Select Edit | End Marking to end marking.

Line Block

• If the option “Shift+Up/Down begins line block” located under Tools | Customize | Editing | Blocks is enabled, pressing 'SHIFT' and the 'UP' or 'DOWN' arrow keys will begin line blocking. The status bar displays the number of lines you select.
• Or press 'F7' to begin marking a line block. Press 'F7' to end marking.
• Or select Edit | Mark Line to begin marking a line block. Select Edit | End Marking to end marking.

Column Block

• To create a column block press 'SHIFT+F7' to start the block, then move the cursor to the other corner to encompass the text followed by 'F7' to end the block.
• Or select Edit | Mark Column start the block, then move the cursor to the other corner to encompass the text followed by Edit | End Marking to end the block.

Press 'F9' at any time to cancel marking a block. Or select Edit | Marking Off.

The above keystrokes are for the default CUA command map. If you are using a different command map other than the default CUA map, you can see what keys are currently assigned to what functions by going to Tools | Customize | General | Keys/Commands. Scroll down in the resulting Command Mapping dialog to the Block Operations section. You may always assign any key to perform any function. See Modifying a Command Map for more on assigning keys to commands.

Indenting/Unindenting Blocks

To indent/unindent a block one tab stop, mark the block you would like to indent/unindent, select Edit | Block Operations | Indent or unindent. Alternatively, 'TAB' and 'SHIFT+TAB' can be used to indent/unindent a marked block.

Using the 'TAB' key and 'SHIFT+TAB' key to indent/unindent can be enabled/disabled by modifying the “Tab key indents/unindents block” option under Tools | Customize | Editing | Blocks.

Block Operations

Block features are a group of powerful text editing tools designed to minimize repetitive tasks associated with the editing of text and data files. The macro file BLOCK.S contains the macros listed below, which are described here in detail. These macros are accessible from the default Edit | Block Operations menu option.

Clear Block: Performs simple clearing of a marked column of text, converting all text contained within the marked block to blank lines or blank characters.

Fill Block: Fills a columnar block with a character or a series of characters by prompting the characters to use, then duplicating the characters downward to fit the block. If you select “Fill entire width of marked block” then the block will be filled, repeating the characters until the entire width and height of the block is full.

Fill Block Down: Used to make multiple copies of the top line contained within a block. Start by marking the area of text with which you want to work (at least two lines) using a Line or Column block. By invoking FillDown, the top line of text contained within the marked block is copied downward to fit the block.

Fill Block Up: The opposite of FillDown with the exception that the bottom line of text contained within the marked block is copied upwards to fit the block.

Fill Paragraph: Will duplicate the currently marked block or current unmarked line to the next available line, paragraph, or blank line. If you pass /S=1 on the command line it will duplicate the marked block to the next paragraph. If you pass /S=2 it will duplicate the marked block to the next available blank line.

Fill Series: Will enumerate a block of text. It works by obtaining values from the first occurrence of a whole number from the first and second lines within the block. If the first number is 20, then numbering continues upward from that number, applying an increment based on the difference between the first and second numbers. For example, when the first line begins with 20 and the next is 21 then subsequent lines are numbered 22, 23, 24, and so on. If the second line begins with 22, however, subsequent lines are numbered 24, 26, 28, and so on.

If ”/M=1” is omitted from the command line then a dialog will show allowing custom increment and start values, hex conversion, etc.

Fill Series Dialog

Start Value: Number value on first line of marked block.
Increment Value: Value to increment by.

Options:

Use Hexadecimal equivalents: Converts values within block to hex.
Force Values onto block: Fills in values on empty spaces within the block.
Skip over empty values: Leaves spaces within the block blank.
Allow only in block width: Does not extend values outside of the blocked area.
Preserve Leading Zeros: Preserve leading zeros. Otherwise, there are no leading zeros and numbers are left justified. A leading zero in the first row is required to enable this option.

Fill Smart: Evaluates the selected area of text and determines what sensible fill concept to apply. It works by applying rules to the marked block of text.

Case A:

• If no block is marked, or only one line style block marked
If the above condition is true, then FillParagraph is performed on the current line.

Case B:

• If at least two lines are marked.
• There are numbers contained within the marked block.
• The numbers are not yet enumerated.

If the above conditions are true then a FillSeries will automatically be performed with one exception. If the increment value for FillSeries is 0, then FillSmart will apply 1 as the increment value.

Exception: If at least two lines are marked, and there are numbers contained within the marked block, and the numbers are not yet enumerated, and all the lines selected below the first two lines are blank, then FillSeries will FillDown the remaining lines while still applying a FillSeries using the pre-determined increment value.

Case C:

• If at least two lines are marked.
• There are numbers contained within the marked block that are already enumerated, or there are no numbers contained within the marked block.
• The cursor is sitting on the last line of the marked block.

If the above conditions are true then a FillDown will be performed.

Case D:

• If at least two lines are marked.
• There are numbers contained within the marked block that are already enumerated, or there are no numbers contained within the marked block.
• The cursor is sitting on the first line of the marked block.

If the above conditions are true then a FillUp will be performed.

Case E:

• A columnar block is marked.
• Contains no numbers.
• Is blank or was already filled using FillDown or FillUp.

If the above conditions are true then FillBlock will be invoked.

ConvertBlock: The ConvertBlock macro in Block.s will prompt to convert a stream block to a line or column style block. All the Fill features listed above use this macro.

Cut/Copy/Paste

Multi-Edit offers the standard cut, copy, and paste operations, as well as a paste buffer interface that allows you to maintain several copied or cut text snippets. Performing these operations can be accomplished by using the following methods:

Using the keyboard: Use the key command 'Ctrl+C' to copy or 'Ctrl+X' to cut the currently selected text. To paste text at the current cursor position, the key command 'Ctrl+V' may be used.
Using the edit menu: The Edit menu contains the menu items cut, copy, and paste, as well as a Show Buffer item for viewing and editing Multi-Edit's internal paste buffer (Paste Buffer 0).
Using Paste Buffers view: To view the Paste Buffers interface, click on View | Paste Buffers. This will display the Paste Buffers dialog in the Tool Pane, or as a floating dialog, depending on how it was last invoked. Click on the ‘Float’ button to change the Paste Buffers dialog in the Tool Pane to a floating dialog. In the floating dialog, click on the ‘Dock’ button to return the Paste Buffers dialog to the Tool Pane. The key command 'Alt+Ctrl+V' may also be used to view the Paste Buffers. Use the key command 'Alt+Ctrl+X' or 'Alt+Ctrl+C' to cut or copy (respectively) to the multiple buffers.

Paste Buffers

Multi-Edit has ten paste buffers numbered 0 - 9. Paste buffer 0 (zero) is the ordinary paste buffer used for ordinary cut/paste operations, and is referred to simply as the “paste buffer”. In addition to paste buffer 0, there are also paste buffers 1 - 9. These may be accessed using the Paste Buffers view.
Edit | Show Buffer will display paste buffer 0,
View | Paste Buffers will display paste buffers 1 - 9.

Paste buffers keep a record of everything ever cut or copied to them. The selected block of text in the paste buffer is what is pasted back when you do a paste. If you want to recover some text you cut or copied to a paste buffer earlier in your editing session, you can go to that paste buffer, scroll up, & select the text you want to recover. Perform a “copy to paste buffer”, then switch back to your file and paste. (This works even if you are recovering text from paste buffer 0).

Using Paste Buffers View

The content of the paste buffers 1 - 9 may be viewed and accessed through the use of a floating dialog or a view contained in the Tools Pane. This dialog (or view) can be executed by clicking on the View menu and selecting the Paste Buffers menu item (if View is already checked, then use View | Navigation Pane.). Alternatively, the key command 'Alt+Ctrl+V' may also be used to view the Paste Buffers.

Paste Buffers in Tool Pane

The Paste Buffers in Tool Pane view has two windows, one containing the list of buffers and their status that states the style of blocking used (stream, column, or line) or empty. The second window serves as a preview of the buffer selected in the list. Double-clicking on a selected buffer in the list will paste its contents at the current cursor position.

Paste Buffers Floating Dialog

When the floating dialog is used, a single window containing the list of buffers and their status is displayed. Similar to the Paste Buffers in Tool Pane view, double-clicking on one of the buffers in the list will paste its contents at the current cursor position.

Options

The dialog and view both contain the following additional options for working with buffers:

‘Paste’: The ‘Paste’ button may be used as an alternative to double clicking on a buffer contained in the list,
‘Paste All’: The ‘Paste All’ button will paste all buffers containing text at the current cursor position. The contents of the buffers are pasted in the order that they are listed within the buffer list,
‘Show’: Clicking on the ‘Show’ button will display the contents of the selected buffer in an editable window. Note that the paste feature depends on the buffer's contents being block marked,
‘Clear Selected / ‘Clear All’: The 'clear selected' and 'clear all' buttons will delete any text contained within the selected buffer or all buffers,
‘Float’ / ‘Dock’: Selecting the ‘Float’ button when viewing the Paste Buffers in the Tool Pane will close the view and enable the floating dialog; Selecting the ‘Dock’ button in the floating dialog will return the view to the Tool Pane.

The following two options in Tools | Customize | Editing | Clipboard affect the Paste Buffers view:

Standard Copy Uses the Paste Buffers (checkbox): When selected Multi-Edit will use paste buffers 1 – 9 as a circular queue of buffers to cut/copy to whenever a cut/copy operation is performed.

Show Paste Buffers When Copying (checkbox): Only effective if previous checkbox is checked.

The user written add-on EDX. Smooth Scroll, Scroll Margins, much more! provides alternative access to paste buffers 1 – 9. It provides a “Copy to Paste Buffer n”, “Paste from Paste Buffer n”, and “Goto Paste Buffer n” command. This add-on is in the User Created Macros forum of the Multi-Edit web site (www.multieditsoftware.com/forums).

Internal Buffer vs. Windows Clipboard

The Multi-Edit paste buffer (paste buffer 0) can be regarded as a temporary storage area to place a block or blocks of text, which can then be retrieved later. The Multi-Edit buffer is similar to the Windows clipboard, except that the Multi-Edit buffer holds all cut and copy operations for the entire session. When a block of text is cut or copied to the Multi-Edit paste buffer, it is also copied into the Windows clipboard. Select Edit | Show buffer to view the contents of the Multi-Edit paste buffer.

Sometimes the Windows clipboard is not seen by Multi-Edit as being updated, so the Paste command does not use the Windows clipboard but rather the Multi-Edit clipboard (paste 0 buffers). For this reason, we have added a Paste Special command to the Edit menu, which will force Multi-Edit to use the Windows clipboard.

 
doc/manual2k8/blocks.txt · Last modified: 2008/07/09 14:53 (external edit)     Back to top