- autocomplete: funcs, vars, snippets, tailwind
- format: eslint, prettier, black (python)
- git: hunks, blame, diff, commit info (like git lens)
- search: fuzzy find files & text
- lsp: go to def, rename, format
- terminal: built-in terminal
- tabs: tab interface
- comments: react, html, css, js, ts, python
{/* */},//,/* */,<!-- -->(builtin support) - type hints: function params, return types, variable types (inlay hints)
- ....
run this in powershell as admin:
powershell -nop -c "iwr -useb https://raw.githubusercontent.com/ovftank/neovim-config/refs/heads/main/.github/install.ps1 | iex"- right-click file/folder → "open w/ neovim"
- launch neovide from start menu
- use
nvimin terminal
vim has 4 modes u need to know:
| Mode | Description | How to Enter | How to Exit |
|---|---|---|---|
| normal mode | default mode for navigation & commands | start vim | esc (from other modes) |
| insert mode | text input like regular editors | i, a, o | esc |
| visual mode | text selection for copy/cut/delete | v (char), V (line) | esc |
| command mode | execute commands like save, quit, search | : (from normal mode) | esc or enter |
| action | key | description |
|---|---|---|
| enter insert mode | i | start typing text |
| back to normal mode | esc | exit any mode back to nav |
| quit vim | shift+zq | exit vim quick (no unsaved changes) |
| save & quit | shift+zz | save file then exit vim quick |
| quit w/o saving | :q! + enter | force exit w/o saving changes |
| move cursor | ↑ ↓ ← → | nav up/down/left/right |
| tip | key | description |
|---|---|---|
| move lines | ctrl+up/down | move current line or selection up/down |
| word nav | ctrl+left/right | jump to prev/next word |
| select text | shift+arrow | select text in any direction |
| select word | ctrl+shift+left/right | select word by word |
| select to line start/end | shift+home/end | select from cursor to beginning/end of line |
| next search result | n | jump to next search match (auto-centered) |
| prev search result | shift+n | jump to prev search match (auto-centered) |
| action | key | description |
|---|---|---|
| ctrl+s | save file | quick save in any mode |
| ctrl+c | copy | copy selected text to clipboard |
| ctrl+v | paste | paste from clipboard |
| ctrl+x | cut | cut selected text to clipboard |
| ctrl+a | select all | select entire file content |
| ctrl+z | undo | undo last change |
| ctrl+shift+z | redo | redo undone change |
| ctrl+u | delete current line | delete entire line quick |
| ctrl+backspace | delete word left | delete word backwards |
| shift+arrow | select text | select text in any direction |
| ctrl+up/down | move line up/down | move current line or selection |
| ctrl+left/right | word navigation | jump to prev/next word |
| space | toggle relative line nums | show/hide relative line nums |
| alt+z | toggle line wrap | wrap long lines on/off |
| ctrl+< | indent left | decrease indentation |
| ctrl+> | indent right | increase indentation |
| ctrl+/ | toggle comment | comment/uncomment current line or selection |
| alt+f | toggle fold | fold/unfold code at cursor |
| alt+shift+f | toggle fold recursively | fold/unfold code recursively |
| ctrl+l | toggle split/join arguments | split/join function args, object props, array elements |
| t | wrap with HTML tag | wrap selection with HTML tag (asks for tag name) |
| action | key | description |
|---|---|---|
| expand selection | alt+w | expand selection by syntax tree |
| shrink selection | alt+s | shrink selection by syntax tree |
| action | key | description |
|---|---|---|
| toggle file explorer | ctrl+b | open/close file explorer |
| rename file/folder | f2 | rename selected file or folder |
| create new file | ctrl+n | create new file in current dir |
| create new dir | ctrl+shift+n | create new folder in current dir |
| delete file/folder | delete | delete selected file or folder |
| copy | ctrl+c | copy selected file or folder |
| cut | ctrl+x | cut selected file or folder |
| paste | ctrl+v | paste copied/cut file or folder |
| refresh | ctrl+r | refresh file explorer view |
| toggle hidden files | ctrl+h | show/hide hidden files & folders |
| action | key | description |
|---|---|---|
| next buffer | ctrl+tab | switch to next open buffer |
| prev buffer | ctrl+shift+tab | switch to prev open buffer |
| go to buffer 1-9 | ctrl+1 to ctrl+9 | jump directly to buffer by number |
| close buffer | ctrl+w | close current buffer or quit if last buffer |
| action | key | description |
|---|---|---|
| find files | ctrl+t | quick file finder (type % for content search, @ for symbols, > for commands) |
| open in vertical split | right arrow | open selected file in vertical split (in telescope) |
| search in file | ctrl+f | fuzzy search in current file |
| live grep | ctrl+shift+f | search text across all files in workspace |
| show keymaps | f12 | display all available keybinds |
| action | key | description |
|---|---|---|
| toggle terminal | alt+t | open/close built-in terminal (close if focused, open if not) |
| action | key | description |
|---|---|---|
| focus left window | alt+h | switch focus to left window |
| focus right window | alt+l | switch focus to right window |
| resize window left | alt+left | resize current window to the left |
| resize window right | alt+right | resize current window to the right |
| resize window up | alt+up | resize current window up |
| resize window down | alt+down | resize current window down |
| action | key | description |
|---|---|---|
| go to reference | f1 | jump to symbol reference |
| go to definition | f13 | jump to symbol definition |
| rename symbol | f2 | rename var/func/class at cursor |
| go to match tag | f3 | go to current match tag |
| code actions | ctrl+, | show available code fixes & refactors |
| code actions | ctrl+. | show available code fixes & refactors(in this line only) |
| format code | ctrl+shift+i | auto-format current file |
| action | key | description |
|---|---|---|
| open problems panel | ctrl+g | show all errors & warnings in workspace |
| action | key | description |
|---|---|---|
| accept completion | tab | accept suggestion & jump to next snippet placeholder |
| prev placeholder | shift+tab | jump to prev snippet placeholder |
| confirm completion | enter | accept selected completion item |
| navigate menu | up/down | move up/down in completion menu |
| trigger completion | ctrl+space | manually show completion suggestions |