Extended Move for VS Code
March 11, 2026 ยท View on GitHub
A Visual Studio Code extension that provides Vim-style cursor movement and text object selection features.
Migration Notice: This extension supersedes vscode-extended-selects. If you're using that extension, please switch to Extended Move for continued updates.
Features
This extension provides two main categories of commands:
1. Cursor Movement
Commands for moving the cursor with precision:
- Whitespace Movement: Move to next/previous whitespace characters
- Character Movement: Jump to specific characters with input prompts
- Last Character Movement: Reuse the last searched character
- Surrounding Navigation: Exit or enter bracket/quote pairs
2. Text Object Selection
Vim-style text objects for selecting inner/around regions:
| ID | Shortcut | Description |
|---|---|---|
| inner/around-word | iw/aw | Word |
| inner/around-WORD | iW/aW | WORD (whitespace-delimited) |
| inner/around-paren | i(/a( | Parentheses () |
| inner/around-brace | i{/a{ | Braces {} |
| inner/around-bracket | i[/a[ | Brackets [] |
| inner/around-angle | i</a< | Angle brackets <> |
| inner/around-double-quote | i"/a" | Double quotes |
| inner/around-single-quote | i'/a' | Single quotes |
| inner/around-backtick | i/a | Backticks |
| inner/around-tag | it/at | HTML/XML tags |
| inner/around-paragraph | ip/ap | Paragraph |
| inner/around-argument | ia/aa | Function argument |
| inner/around-indent | ii/ai | Indent block |
| inner/around-entire | ie/ae | Entire document |
Installation
- Open Visual Studio Code
- Click the Extensions icon in the sidebar
- Search for "Extended Move"
- Click Install
Usage
Text Object Selection
- Run
Extended Move: Select Text Objectfrom Command Palette - Type to filter text objects (e.g.,
ipfor inner paragraph) - Press Enter to select
Or bind individual commands directly to keybindings.
Cursor Movement
All cursor movement commands are available via Command Palette and can be bound to keys.
Keybinding Configuration
This extension does not provide default keybindings. Configure your preferred keybindings in keybindings.json:
{
// Text Object Selection
{ "key": "alt+s", "command": "vscode-extended-move.selectTextObject" },
// Cursor Movement
{ "key": "alt+]", "command": "vscode-extended-move.cursorNextWhitespace" },
{ "key": "alt+[", "command": "vscode-extended-move.cursorPrevWhitespace" },
{ "key": "alt+]", "command": "vscode-extended-move.cursorExitSurrounding" },
{ "key": "alt+[", "command": "vscode-extended-move.cursorEnterSurrounding" }
}
See the full command list for all available commands.
Commands
Text Object Selection
vscode-extended-move.selectTextObject- Open QuickPick to select text objectvscode-extended-move.innerWordSelect- Select inner wordvscode-extended-move.aroundWordSelect- Select around word- ... (and more for each text object type)
Cursor Movement
vscode-extended-move.cursorNextWhitespace- Move to next whitespacevscode-extended-move.cursorPrevWhitespace- Move to previous whitespacevscode-extended-move.cursorNextChar- Move to next specified charactervscode-extended-move.cursorPrevChar- Move to previous specified charactervscode-extended-move.cursorExitSurrounding- Exit current surrounding brackets/quotesvscode-extended-move.cursorEnterSurrounding- Enter previous surrounding brackets/quotes
License
MIT License
Source Code
Feedback
Please report bugs or request features through GitHub Issues.