Lumide includes a built-in Vim modal editing engine.
Enabling Vim Mode#
- Open Settings (
Cmd+,/Ctrl+,). - Search for Vim Mode.
- Toggle
editor.vim_mode.enabled. -
Or run Vim: Toggle Vim Mode from the Command Palette (
Cmd + Shift + P/Ctrl + Shift + PorCmd + Shift + A).
When enabled, a status chip appears in the bottom status bar showing the current mode (NORMAL,
INSERT, VISUAL, REPLACE).
The Core Modes#
| Mode | Entry Key | Cursor Shape | Description |
|---|---|---|---|
| Normal | Escape or Ctrl + [ |
Block | Navigation, operators, and counts. |
| Insert | i, a, o, I, A, O |
Bar | Text insertion. Retains LSP completions and auto-pairs. |
| Visual | v |
Highlighted block | Character-wise range selection. |
| Visual Line | V |
Line highlight | Line-wise selection. |
| Visual Block | Ctrl + V |
Column blocks | Multi-line rectangular block selection. |
| Replace | R |
Underline | Overwrite characters without shifting following text. |
| Command | : |
Prompt | Ex commands and regex replacement. |
Command Grammar: [count] [operator] [motion]#
Common Operators#
d: Delete (cut) into register.c: Change (delete and switch to Insert mode).y: Yank (copy) into register.>/<: Indent or outdent lines.=: Reformat code via active language server.
Text Objects (Use with i inner or a around)#
iw,aw: Word / surrounding word.i",a": Double-quoted text.i(,a(: Parenthesized block.i{,a{: Curly brace block.it,at: Tag block (HTML/XML).
Ex Commands#
Press : in Normal mode:
:w: Save file.:q: Close current tab.:wqor:x: Save and close.:%s/find/replace/g: Replace all matches across file.:g/pattern/d: Delete all lines matching pattern./query: Search forward;nnext,Nprevious.
Configuration (~/.vimrc)#
Lumide loads key mappings and options from ~/.vimrc (or editor.vim_mode.configuration_path):
let mapleader = " "
set number
set relativenumber
set ignorecase
set smartcase
nnoremap <leader>w :w<CR>
nnoremap <leader>q :q<CR>
inoremap jk <Esc>
Settings#
Under Settings -> Editor -> Vim:
-
Enable Vim (
editor.vim_mode.enabled):bool(default:false). -
Status Indicator Style (
editor.vim_mode.status_indicator_style):disabled,vim_string,simple_text(default), orcapsule_chip. -
Clipboard Mode (
editor.vim_mode.clipboard):none(default),unnamed(primary selection), orunnamedplus(system clipboard). -
Relative Line Numbers (
editor.vim_mode.relative_line_numbers): Automatically switches to relative numbers in Normal mode. -
Search Ignore Case (
editor.vim_mode.search.ignore_case):true(default). -
Search Smart Case (
editor.vim_mode.search.smart_case):true(default).
Next Steps#
- Vim Mode Cheatsheet — Complete command reference.
- Settings & Configuration — Full settings guide.
