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:

IDShortcutDescription
inner/around-wordiw/awWord
inner/around-WORDiW/aWWORD (whitespace-delimited)
inner/around-pareni(/a(Parentheses ()
inner/around-bracei{/a{Braces {}
inner/around-bracketi[/a[Brackets []
inner/around-anglei</a<Angle brackets <>
inner/around-double-quotei"/a"Double quotes
inner/around-single-quotei'/a'Single quotes
inner/around-backticki/aBackticks
inner/around-tagit/atHTML/XML tags
inner/around-paragraphip/apParagraph
inner/around-argumentia/aaFunction argument
inner/around-indentii/aiIndent block
inner/around-entireie/aeEntire document

Installation

  1. Open Visual Studio Code
  2. Click the Extensions icon in the sidebar
  3. Search for "Extended Move"
  4. Click Install

Usage

Text Object Selection

  1. Run Extended Move: Select Text Object from Command Palette
  2. Type to filter text objects (e.g., ip for inner paragraph)
  3. 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 object
  • vscode-extended-move.innerWordSelect - Select inner word
  • vscode-extended-move.aroundWordSelect - Select around word
  • ... (and more for each text object type)

Cursor Movement

  • vscode-extended-move.cursorNextWhitespace - Move to next whitespace
  • vscode-extended-move.cursorPrevWhitespace - Move to previous whitespace
  • vscode-extended-move.cursorNextChar - Move to next specified character
  • vscode-extended-move.cursorPrevChar - Move to previous specified character
  • vscode-extended-move.cursorExitSurrounding - Exit current surrounding brackets/quotes
  • vscode-extended-move.cursorEnterSurrounding - Enter previous surrounding brackets/quotes

License

MIT License

Source Code

GitHub Repository

Feedback

Please report bugs or request features through GitHub Issues.