Code Editors & IDEs

Neovim Keyboard Shortcuts

We gathered all 191 Neovim shortcuts so you can edit text with modern vim at speed

Neovim keyboard shortcuts

From Neovim Community, Neovim is purpose-built to edit text with modern vim. It is one of the leading applications in the code editors & IDEs category.

Knowing the right keyboard shortcuts turns Neovim into a faster, more responsive tool. It is one of the simplest upgrades to any workflow.

Available on macOS, Windows, and Linux, Neovim serves a broad audience of professionals who benefit from learning platform-specific shortcut keys.

macOS Windows Linux
191 shortcuts 18 categories
Visit Neovim Official Website
Show shortcuts for:

Navigation 62 shortcuts

Move left / Move to line N in the window, on the first non-blank
H H H
Move right / Move to the Nth line from the bottom, on the first non-blank
L L L
Move up N lines
K K K
Move down N lines
J J J
Move to first character in the line
0 0 0
Move to first non-blank character in the line
^ ^ ^
Move to the next EOL (end of line) position
$ $ $
Move to first character in screen line (differs from "0" when lines wrap)
G +0 G +0 G +0
Move to first non-blank character in screen line (differs from "^" when lines wrap)
G +^ G +^ G +^
Move to last character in screen line (differs from "$" when lines wrap)
G +$ G +$ G +$
Move to middle of the screen line
G +M G +M G +M
Move to column N
| | |
Move to the Nth occurrence of `{char}` to the right / Move to the Nth occurrence of `{char}` to the left
F +{char} F +{char} F +{char}
Move till before the Nth occurrence of `{char}` to the right / Move till before the Nth occurrence of `{char}` to the left
T +{char} T +{char} T +{char}
Repeat the last "f", "F", "t", or "T" N times
; ; ;
Repeat the last "f", "F", "t", or "T" N times in opposite direction
, , ,
Move up N lines (also: CTRL-P and <Up>)
Ctrl +P Ctrl +P Ctrl +P
Move up N lines (also: <Up>)
Up Up Up
Move down N lines (also: CTRL-J, CTRL-N, <NL>, and <Down>)
Ctrl +J Ctrl +J Ctrl +J
Move down N lines (also: CTRL-N, and <Down>)
Ctrl +N Ctrl +N Ctrl +N
Move down N lines (also: <Down>)
Down Down Down
Move down N lines, on the first non-blank character
- - -
Move down N lines, on the first non-blank character (also: CTRL-M and <CR>)
Ctrl +M Ctrl +M Ctrl +M
Move down N lines, on the first non-blank character (also: <CR>)
Enter Enter Enter
Move down N-1 lines, on the first non-blank character
_ _ _
Goto line N (default: last line), on the first non-blank character
G G G
Goto line N (default: first line), on the first non-blank character
G +G G +G G +G
Go to line N percentage down in the file; N must be given, otherwise it is the [%] command
N +% N +% N +%
Move up N screen lines
G +K G +K G +K
Move down N screen lines
G +J G +J G +J
Move N blank-separated WORDS forward
W W W
Move forward to the end of the Nth blank-separated WORD
E E E
Move N blank-separated WORDS backward
B B B
Move backward to the end of the Nth blank-separated WORD
G +E G +E G +E
Move N sentences forward
) ) )
Move N sentences backward
( ( (
Move N paragraphs forward
} } }
Move N paragraphs backward
{ { {
Move N sections forward, at start of section
] +] ] +] ] +]
Move N sections backward, at start of section
[ +[ [ +[ [ +[
Move N sections forward, at end of section
] +[ ] +[ ] +[
Move N sections backward, at end of section
[ +] [ +] [ +]
Move N times back to unclosed '('
[ +( [ +( [ +(
Move N times back to unclosed '{'
[ +{ [ +{ [ +{
Move N times back to start of method (for Java) / Move N times back to end of method (for Java)
[ +M [ +M [ +M
Move N times forward to unclosed ')'
] +) ] +) ] +)
Move N times forward to unclosed '}'
] +} ] +} ] +}
Move N times forward to start of method (for Java) / Move N times forward to end of method (for Java)
] +M ] +M ] +M
Move N times back to unclosed "#if" or "#else"
[ +# [ +# [ +#
Move N times forward to unclosed "#else" or "#endif"
] +# ] +# ] +#
Move N times back to start of comment "/*"
[ +* [ +* [ +*
Move N times forward to end of comment "*/"
] +* ] +* ] +*
Move to the middle line in the window, on the first non-blank
M M M
Go to Nth byte in the buffer
G +O G +O G +O
Go to Nth byte in the buffer
: +go : +go : +go
Find the next brace, bracket, comment, or "#if"/ "#else"/"#endif" in this line and go to its match
% % %
Repeat last search, in the forward direction
/ / /
Repeat last search, in the backward direction
? ? ?
Search forward for the identifier under the cursor
* * *
Search backward for the identifier under the cursor
# # #
Like "*", but also find partial matches
G +* G +* G +*
Like "#", but also find partial matches
G +# G +# G +#

Marks and Jumps 16 shortcuts

Mark current position with mark `{a-zA-Z}`
M +{a-zA-Z} M +{a-zA-Z} M +{a-zA-Z}
Go to mark {a-z} within current file
` +{a-z} ` +{a-z} ` +{a-z}
Go to mark {A-Z} in any file
` +{A-Z} ` +{A-Z} ` +{A-Z}
Go to the position where Vim was previously exited
` +0 ` +0 ` +0
Go to the position before the last jump
` +` ` +` ` +`
Go to the position when last editing this file
` +" ` +" ` +"
Go to the start of the previously operated or put text
` +[ ` +[ ` +[
Go to the end of the previously operated or put text
` +] ` +] ` +]
Go to the start of the (previous) Visual area
` +< ` +< ` +<
Go to the end of the (previous) Visual area
` +> ` +> ` +>
Go to the position of the last change in this file
` +. ` +. ` +.
same as, but on the first non-blank in the line
' +{a-zA-Z0-9[]"'<>.} ' +{a-zA-Z0-9[]"'<>.} ' +{a-zA-Z0-9[]"'<>.}
Print the active marks
: +marks : +marks : +marks
Go to Nth older position in jump list
Ctrl +O Ctrl +O Ctrl +O
Go to Nth newer position in jump list
Ctrl +I Ctrl +I Ctrl +I
Print the jump list
: +ju : +ju : +ju

Searching 6 shortcuts

Search forward for the Nth occurrence of `{pattern}`
/ +{pattern} +<CR> / +{pattern} +<CR> / +{pattern} +<CR>
Search backward for the Nth occurrence of `{pattern}`
? +{pattern} +<CR> ? +{pattern} +<CR> ? +{pattern} +<CR>
Repeat last search, in the forward direction
/ +<CR> / +<CR> / +<CR>
Repeat last search, in the backward direction
? +<CR> ? +<CR> ? +<CR>
Repeat last search, in opposite direction
N N N
Go to local declaration of identifier under the cursor / Goto global declaration of identifier under the cursor
G +D G +D G +D

Tags 2 shortcuts

Jump to the tag under cursor
Ctrl +] Ctrl +] Ctrl +]
Jump back from Nth older tag in tag list
Ctrl +T Ctrl +T Ctrl +T

Scrolling 6 shortcuts

Scroll window N lines downwards
Ctrl +E Ctrl +E Ctrl +E
Scroll window N lines downwards
Ctrl +D Ctrl +D Ctrl +D
Scroll window N pages forwards
Ctrl +F Ctrl +F Ctrl +F
Scroll window N lines upwards
Ctrl +Y Ctrl +Y Ctrl +Y
Scroll window N lines upwards
Ctrl +U Ctrl +U Ctrl +U
Scroll window N pages backwards
Ctrl +B Ctrl +B Ctrl +B

Inserting Text 3 shortcuts

End Insert mode, back to Normal mode
Esc Esc Esc
End Insert mode, back to Normal mode (do not use an abbreviation)
Ctrl +C Ctrl +C Ctrl +C
Execute command and return to Insert mode
Ctrl +O Ctrl +O Ctrl +O
The BuildBox Macropad Puts Keyboard Shortcuts at Your Fingertips! Learn More

Insert Mode 10 shortcuts

Move cursor left/right/up/down
Left Left Left
Move cursor left/right/up/down
Right Right Right
Move cursor left/right/up/down
Up Up Up
Move cursor left/right/up/down
Down Down Down
Shift-left/right one word left/right
Shift +Left Shift +Left Shift +Left
Shift-left/right one word left/right
Shift +Right Shift +Right Shift +Right
Shift-up/down one screenful backward/forward
Shift +Up Shift +Up Shift +Up
Shift-up/down one screenful backward/forward
Shift +Down Shift +Down Shift +Down
Cursor after last character in the line
End End End
Cursor to first character in the line
Home Home Home

Insert Mode Special Keys 19 shortcuts

Insert character literally, or enter decimal byte value
Ctrl +V Ctrl +V Ctrl +V
Begin new line
Enter Enter Enter
Begin new line
Ctrl +M Ctrl +M Ctrl +M
Begin new line
Ctrl +J Ctrl +J Ctrl +J
Insert the character from below the cursor
Ctrl +E Ctrl +E Ctrl +E
Insert the character from above the cursor
Ctrl +Y Ctrl +Y Ctrl +Y
Insert previously inserted text
Ctrl +A Ctrl +A Ctrl +A
Insert previously inserted text and stop Insert mode
Ctrl +@ Ctrl +@ Ctrl +@
Insert the contents of a register
Ctrl +R Ctrl +R Ctrl +R
Insert next match of identifier before the cursor
Ctrl +N Ctrl +N Ctrl +N
Insert previous match of identifier before the cursor
Ctrl +P Ctrl +P Ctrl +P
Insert the character before the cursor in various ways
Ctrl +X Ctrl +X Ctrl +X
Delete the character before the cursor
Backspace Backspace Backspace
Delete the character before the cursor
Ctrl +H Ctrl +H Ctrl +H
Delete the character under the cursor
Delete Delete Delete
Delete word before the cursor
Ctrl +W Ctrl +W Ctrl +W
Delete all entered characters in the current line
Ctrl +U Ctrl +U Ctrl +U
Insert one shiftwidth of indent in front of the current line
Ctrl +T Ctrl +T Ctrl +T
Delete all indent in the current line, restore indent in next line
Ctrl +D Ctrl +D Ctrl +D

Digraphs 1 shortcut

Enter digraph
Ctrl +K Ctrl +K Ctrl +K

Deleting Text 1 shortcut

Delete N characters under and after the cursor
Delete Delete Delete

Undo/Redo 1 shortcut

Redo last N undone changes
Ctrl +R Ctrl +R Ctrl +R

External Commands 1 shortcut

Lookup keyword under the cursor
K K K

Various Commands and Actions 4 shortcuts

Clear and redraw the screen
Ctrl +L Ctrl +L Ctrl +L
Show current file name (with path) and cursor position / Show cursor column, line, and character position
Ctrl +G Ctrl +G Ctrl +G
Interrupt the search
Ctrl +C Ctrl +C Ctrl +C
Delete last character
Delete Delete Delete

Command-line editing 26 shortcuts

Abandon command-line
Esc Esc Esc
Insert character literally / Enter decimal value of character
Ctrl +V Ctrl +V Ctrl +V
Enter digraph
Ctrl +K Ctrl +K Ctrl +K
Insert the contents of a register
Ctrl +R Ctrl +R Ctrl +R
Cursor left
Left Left Left
Cursor right
Right Right Right
Cursor one word left
Shift +Left Shift +Left Shift +Left
Cursor one word right
Shift +Right Shift +Right Shift +Right
Cursor to beginning of command-line
Ctrl +B Ctrl +B Ctrl +B
Cursor to end of command-line
Ctrl +E Ctrl +E Ctrl +E
Delete the character in front of the cursor
Backspace Backspace Backspace
Delete the character under the cursor
Delete Delete Delete
Delete the word in front of the cursor
Ctrl +W Ctrl +W Ctrl +W
Remove all characters between the cursor and beginning of command-line
Ctrl +U Ctrl +U Ctrl +U
Recall older command-line that starts with current command
Up Up Up
Recall newer command-line that starts with current command
Down Down Down
Recall older command-line from history
Shift +Up Shift +Up Shift +Up
Recall newer command-line from history
Shift +Down Shift +Down Shift +Down
Next match when 'incsearch' is active
Ctrl +G Ctrl +G Ctrl +G
Previous match when 'incsearch' is active
Ctrl +T Ctrl +T Ctrl +T
Do completion on the pattern in front of the cursor
Tab Tab Tab
List all names that match the pattern in front of the cursor
Ctrl +D Ctrl +D Ctrl +D
Insert all names that match pattern in front of cursor
Ctrl +A Ctrl +A Ctrl +A
Insert longest common part of names that match pattern
Ctrl +L Ctrl +L Ctrl +L
Go to next match after wildchar with multiple matches
Ctrl +N Ctrl +N Ctrl +N
Go to previous match after wildchar with multiple matches
Ctrl +P Ctrl +P Ctrl +P

Editing a file 2 shortcuts

Edit alternate file N
Ctrl +^ Ctrl +^ Ctrl +^
Edit the file whose name is under the cursor
G +F G +F G +F

Writing and quitting 1 shortcut

Suspend Vim or start new shell
Ctrl +Z Ctrl +Z Ctrl +Z

Multi-window 22 shortcuts

Split window into two parts
Ctrl +W +S Ctrl +W +S Ctrl +W +S
Split window and edit file in one of them
N/A Ctrl +W +F Ctrl +W +F
Split window and edit alternate file
N/A Ctrl +W +^ Ctrl +W +^
Create new empty window
Ctrl +W +N Ctrl +W +N Ctrl +W +N
Quit editing and close window
Ctrl +W +Q Ctrl +W +Q Ctrl +W +Q
Make buffer hidden and close window
Ctrl +W +C Ctrl +W +C Ctrl +W +C
Make current window only one on the screen
Ctrl +W +O Ctrl +W +O Ctrl +W +O
Move cursor to window below
Ctrl +W +J Ctrl +W +J Ctrl +W +J
Move cursor to window above
Ctrl +W +K Ctrl +W +K Ctrl +W +K
Move cursor to window below (wrap) / Move cursor to window above (wrap)
Ctrl +W +W Ctrl +W +W Ctrl +W +W
Move cursor to top window
Ctrl +W +T Ctrl +W +T Ctrl +W +T
Move cursor to bottom window
Ctrl +W +B Ctrl +W +B Ctrl +W +B
Move cursor to previous active window
Ctrl +W +P Ctrl +W +P Ctrl +W +P
Rotate windows downwards / Rotate windows upwards
Ctrl +W +R Ctrl +W +R Ctrl +W +R
Exchange current window with next one
Ctrl +W +X Ctrl +W +X Ctrl +W +X
Make all windows equal height & width
Ctrl +W += Ctrl +W += Ctrl +W +=
Decrease current window height
Ctrl +W +- Ctrl +W +- Ctrl +W +-
Increase current window height
Ctrl +W ++ Ctrl +W ++ Ctrl +W ++
Set current window height (default: very high)
Ctrl +W +_ Ctrl +W +_ Ctrl +W +_
Decrease current window width
Ctrl +W +< Ctrl +W +< Ctrl +W +<
Increase current window width
Ctrl +W +> Ctrl +W +> Ctrl +W +>
Set current window width (default: widest possible)
Ctrl +W +| Ctrl +W +| Ctrl +W +|

Folding 8 shortcuts

Define a fold manually
Z +F Z +F Z +F
Delete one fold under the cursor / Delete all folds under the cursor
Z +D Z +D Z +D
Open one fold under the cursor / Open all folds under the cursor
Z +O Z +O Z +O
Close one fold under the cursor / Close all folds under the cursor
Z +C Z +C Z +C
Fold more: decrease ['foldlevel'] / Close all folds: make ['foldlevel'] zero
Z +M Z +M Z +M
Reduce folding: increase ['foldlevel'] / Open all folds: make ['foldlevel'] max.
Z +R Z +R Z +R
Fold none: reset ['foldenable'] / Fold normal set ['foldenable']
Z +N Z +N Z +N
Invert ['foldenable']
Z +I Z +I Z +I
BuildBox Macropad

We've Built 10s Of 1000s Of Keyboard Shortcuts Into The BuildBox Macropad

The BuildBox Macropad is the ultimate shortcut machine. One device with up to 160 configurable shortcuts for apps like Neovim available at your fingertips, a crystal clear display showing what every key does, and a hall-effect scroll wheel for scrubbing through video, audio and graphic editing applications like butter!

Drop your email below to be eligible for our first production run of 500 BuildBox units, at a HUGE discount price:

Keyboard Shortcuts for Similar Applications