Multi-caret editing allows the user to activate two or more non-contiguous insertion points (identified by the blinking caret) within the active file. Each caret acts and operates independently of any other caret, and any edit operations the user executes are performed in all caret locations simultaneously. This is an optional feature and may be disabled completely in configuration under Advanced - Configuration - Editor Display - Cursor/Caret.
Multi-caret via mouse
Creating multiple carets via mouse
Regardless of how many carets are active, the user may add a new caret by holding the Ctrl key and left-mouse-button clicking at any location within the file where he can normally click to reposition the caret, including beyond a line end if the editor is configured for it.
Adding a new caret to an existing set via mouse
If the user has created a caret set and released Ctrl and wishes to add a new caret to the active set, then, prior to clicking anywhere else in the file, he may press Ctrl again and click in a new position to add a new caret to the existing set.
Removing a caret via mouse
The user may remove a caret The user may remove a caret from the active set by holding Ctrl and clicking on the caret he wishes to remove. No other carets are affected. The user may UNDO the last-created caret by pressing Shift + Alt + Z.
Clearing all multiple carets via mouse
To remove multiple carets, the user can release Ctrl and then click elsewhere in the file (not on an active selection). All carets will be removed and the clicked position will become the only active caret. Alternatively, users may press Ctrl + Shift + / to remove all but the primary caret.
Multi-select is a component of multi-caret in that it allows the user to select multiple non-contiguous sections of data.
Multi-select via mouse
Creating multiple selections via mouse
Regardless of how many selections are active, the user may add a new selection by holding the Ctrl key and selecting any text within the file where he can normally do so.
The selection can be created via:
• Click-and-drag (standard selection)
• Click on line number
Adding a new selection to an existing set via mouse
If the user has created a selection set and released Ctrl and wishes to add a new caret to the active set, then, prior to clicking anywhere else in the file, he may press Ctrl again and select new text to add to the existing set.
Removing a selection via mouse
The user may remove a selection from the active set by holding Ctrl and clicking anywhere on the selection he wishes to remove. No other selections are affected. No caret is left where the user clicked.
Clearing all multiple selections via mouse
To remove multiple selections, the user must release Ctrl and then click elsewhere in the file (not on an active caret/selection). All carets will be removed and the clicked position will become the only active caret.
Movement of multi-carets
With a caret/selection set active, the user can reposition them as he normally would by using basic movement keys on the keyboard. For example, pressing Left Arrow will move all carets to the left 1 position. Pressing Down Arrow will move all carets down 1 line. Pressing HOME will move all carets to the beginning of each line. Page Up will move all carets up 1 page. Any movement which would cause the carets to converge into a unified location will result in a single caret. Examples include Ctrl + Home, Ctrl + End, Ctrl + Shift + Home, Ctrl + Shift + End, etc.
General editing with multi-caret
Once a user has a set of multi-carets and/or selections, he may do any number of general editing operations.
All selections are copied or cut into the clipboard. Non-contiguous selections are separated on the clipboard by a line terminator.
If the user has “Enable copy/cut of current line with no selection active”, then all lines where a non-selection caret is active are copied/cut.
All selections are overwritten with whatever data is on the clipboard.
Using Shift, the user can select from each caret at once just as he would with a single caret.
All backspace/delete functionality is available and operates independently upon each caret.
“End of line” carets
Special handling is provided for multiple contiguous “end of line” (EOL) carets. When this is enabled, the user can hold Ctrl and click and drag BEYOND the EOL for multiple contiguous line and have a caret automatically activated at the end of each line. This way, the user does not have to manually Ctrl + Click at the end of each line. If the user continues to drag to a point that is NOT beyond EOL for a line, then the multi-carets will switch over to a regular selection (normal behavior when clicking and dragging).
Article Number: 5321
Posted: Mon, Feb 10, 2014 4:09 PM
Last Updated: Tue, May 13, 2014 2:44 PM
Online URL: http://www.ultraedit.com/help/article/multi-caret-editing-5321.html