Select N Lines
Select N Lines is a lightweight, high-performance VS Code extension that enables fast, stackable line and character selection, plus quick text-object navigation — no Vim-mode overhead, no mode switching, just intuitive keyboard commands.
Features
Line selection
- Up:
Ctrl+Alt+1–9
- Down:
Alt+Shift+1–9
Character selection
- Left:
Alt+1–9
- Right:
Ctrl+Shift+1–9
Select inside delimiters: braces {}
, parentheses ()
, brackets []
, angle brackets < >
, double and single quotes
Go to matching delimiter (e.g., jump from {
to matching }
): Ctrl+Alt+F
Jump inside nearest
- Double quotes:
Alt+V
- Parentheses:
Alt+G
Select whole line: Alt+W
Select to start/end of line: Alt+A
/ Alt+E
Delete current line: Alt+X
Paragraph operations
- Yank (copy) paragraph:
Alt+Y
- Delete paragraph:
Alt+D
All selections extend logically from your cursor or previous anchor. Stack commands by repeating keys to grow the selection (for example, pressing Ctrl+Alt+5
twice selects 10 lines upward).
Default Keybindings
Action |
Keys |
Select N lines up (1–9) |
Ctrl+Alt+1 … Ctrl+Alt+9 |
Select N lines down (1–9) |
Alt+Shift+1 … Alt+Shift+9 |
Select N chars left (1–9) |
Alt+1 … Alt+9 |
Select N chars right (1–9) |
Ctrl+Shift+1 … Ctrl+Shift+9 |
Select inside braces { } |
Alt+B |
Select inside double quotes "…" |
Alt+Q |
Select inside single quotes '…' |
Alt+N |
Select inside parentheses ( ) |
`Alt+`` |
Select inside brackets [ ] |
Alt+Z |
Select inside angle < > |
Alt+J |
Select inside double angle << >> |
Alt+K |
Go to matching delimiter |
Ctrl+Alt+F |
Jump inside double quotes |
Alt+V |
Jump inside parentheses |
Alt+G |
Select to start of line |
Alt+A |
Select to end of line |
Alt+E |
Select whole line |
Alt+W |
Delete current line |
Alt+X |
Yank (copy) paragraph |
Alt+Y |
Delete paragraph |
Alt+D |
Changing Keybindings
- Open the Command Palette (
Ctrl+Shift+P
).
- Select Preferences: Open Keyboard Shortcuts (JSON).
- Add or modify keybindings. Example for a custom mapping:
{
"key": "ctrl+alt+3",
"command": "selectNLines.stackingLine",
"args": { "amount": 3, "direction": "up" },
"when": "editorTextFocus"
},
{
"key": "alt+q",
"command": "selectNLines.selectInsideDoubleQuotes",
"when": "editorTextFocus"
}
Available commands (full list in package.json
):
selectNLines.stackingLine
selectNLines.stackingChar
selectNLines.selectInsideBraces
selectNLines.selectInsideDoubleQuotes
selectNLines.selectInsideSingleQuotes
selectNLines.selectInsideParens
selectNLines.selectInsideBrackets
selectNLines.selectInsideAngle
selectNLines.selectInsideDoubleAngle
selectNLines.gotoMatchingDelimiter
selectNLines.jumpInsideDoubleQuotes
selectNLines.jumpInsideParens
selectNLines.selectToStartOfLine
selectNLines.selectToEndOfLine
selectNLines.selectWholeLine
selectNLines.deleteLine
selectNLines.yankParagraph
selectNLines.deleteParagraph
Purpose
Equip your workflow with rapid, customizable text-object and selection commands so you can navigate and select code more efficiently than ever, without leaving the keyboard.
Installation
Manual install
- Download the
.vsix
file.
- In VS Code, open the Command Palette (
Ctrl+Shift+P
) and run Install from VSIX.
- Select the file and reload VS Code if prompted.
From source
npm install
npm run compile
vsce package
code --install-extension select-n-lines-<version>.vsix
Requirements
- VS Code 1.100.0 or later
- Node.js & npm (for building)
License
MIT — use and modify freely.
Author
Aleksander Todorov
Created with the help of AI. For additional information or support, contact aleks.business.cs@abv.bg.