Selecting Text in the Editor
On this page:
- Selecting all text in the active editor tab
- Selecting with navigation keys
- Alternative ways to select code
- Extending selection
- Shrinking selection
- Toggling between line and column selection modes
- Using smart selection
- Sticky selection
- Tips and tricks
The basic way to select a piece of text is to extend the selection with the mouse cursor. PyCharm, as a keyboard-centric IDE, suggests to use navigation keys to make selections.
You can opt to select pieces of text by lines, or select rectangular fragments in the column mode, extend and shrink the selection, use multiselection, and sticky selection.
Selecting all text in the active editor tab
To select the entire text in the current editor tab, do one of the following:
Selecting with navigation keys
To select text from the current caret position to the beginning/end of the current word:
To select text from the current caret position to the top/bottom of the screen:
Alternative ways to select code
To make selection of a column of text, do one of the following:
- Keeping the Alt key pressed, drag your mouse pointer to select the desired area.
- Keeping the middle mouse button pressed, drag your mouse pointer to select the desired area.
- Press Shift+Alt and the middle mouse button. This is specially helpful, if you want to avoid dragging.
To extend selection from the word at caret to the piece of code the caret is contained in, do one of the following:
- On the main menu, choose
- Press Ctrl+W to select the word where the caret is currently located.
- Press Ctrl+W successively to extend selection to the next containing node
(for example, an expression, a paired tag, an entire conditional block, a method body, a class, a group
of vararg arguments, etc.)
While extending selection, keep in mind that:
- Pressing Ctrl+W successively in plain text or comments extends the selection first to the current sentence, then to the current paragraph.
- Pressing Ctrl+W successively inside a list, dictionary, or a list of arguments or parameters, selects an element of the list, then the right or left comma and a neighbouring space (if any), then the contents of the list without parentheses, and finally the enclosing parentheses.
To shrink selection in the reverse order (from the outermost container to the word where the caret currently resides), do one of the following:
PyCharm supports selecting multiple text fragments. So doing, one can select multiple words, lines or rectangles.
To select multiple words, follow these steps
To select multiple fragments of text, follow these steps
- Press Alt
- Drag the mouse pointer
To select multiple rectangular fragments of text, follow these steps
- Press Alt (Windows or UNIX)/ (OS X)
- Drag the mouse pointer
Refer to the section Multicursor for additional information.
Toggling between line and column selection modes
To toggle between the line and the column selection modes, do one of the following:
Using smart selection
The chapter for the Extract Variable refactoring is just an example. The smart expression selection feature, in fact, is available in all the refactorings that start with selecting an expression.
To use smart expression selection, follow these steps:
- Place the cursor before or within the expression.
- Choose on the main menu or on the context menu. or pressCtrl+Alt+V.
- In the Expressions pop-up menu, select the expression. To do that, click the required expression. Alternatively, use the Up and Down arrow keys to navigate to the expression of interest, and then press Enter to select it.
To toggle sticky selection, do one of the following:
- Press Ctrl+Shift+A, in the pop-up frame type sticky, and choose
Toggle Sticky Selection from the suggestion list:
- In the Emacs keymap, use keyboard shortcut Ctrl+Space.
Tips and tricks
- When sticky selection is on, you can turn it off by invoking copy or cut, or by toggling it again.
- To create a large rectangular selection, create a normal selection first, with the given starting and ending points, and then press Shift+Alt+Insert to toggle to the column selection mode.