Vim Keyboard Shortcut (or Vi) You Should Memorize

3 Mins read

Vim Keyboard Shortcut – The Vim editor is a command-line based tool that’s an enhanced version of the venerable vi editor. Despite the abundance of graphical rich text editors, familiarity with Vim will help every Linux user – from an experienced system administrator to a newbie Raspberry Pi user.

One important thing to note when using Vim, is that the function of a key depends on the “mode” the editor is in. For example, pressing the alphabet “j” will move the cursor down one line in the “command mode”. You’ll have to switch to the “insert mode” to make the keys input the character they represent.

Shortcut KeysFunction
Escape keyGets out of the current mode into the “command mode”. All keys are bound of commands.
i“Insert mode” for inserting text. Keys behave as expected.
:“Last-line mode” where Vim expects you to enter a command such as to save the document.
Navigation keys
hmoves the cursor one character to the left.
j or Ctrl + Jmoves the cursor down one line.
k or Ctrl + Pmoves the cursor up one line.
lmoves the cursor one character to the right.
0moves the cursor to the beginning of the line.
$moves the cursor to the end of the line.
^moves the cursor to the first non-empty character of the line
wmove forward one word (next alphanumeric word)
Wmove forward one word (delimited by a white space)
5wmove forward five words
bmove backward one word (previous alphanumeric word)
Bmove backward one word (delimited by a white space)
5bmove backward five words
Gmove to the end of the file
ggmove to the beginning of the file.
Navigate around the document
(jumps to the previous sentence
)jumps to the next sentence
{jumps to the previous paragraph
}jumps to the next paragraph
[[jumps to the previous section
]]jumps to the next section
[]jump to the end of the previous section
][jump to the end of the next section
Insert text
aInsert text after the cursor
AInsert text at the end of the line
iInsert text before the cursor
oBegin a new line below the cursor
OBegin a new line above the cursor
Special inserts
:r [filename]Insert the file [filename] below the cursor
:r ![command]Execute [command] and insert its output below the cursor
Delete text
xdelete character at cursor
dwdelete a word.
d0delete to the beginning of a line.
d$delete to the end of a line.
d)delete to the end of sentence.
dggdelete to the beginning of the file.
dGdelete to the end of the file.
dddelete line
3dddelete three lines
Simple replace text
r{text}Replace the character under the cursor with {text}
RReplace characters instead of inserting them
Copy/Paste text
yycopy current line into storage buffer
[“x]yyCopy the current lines into register x
ppaste storage buffer after current line
Ppaste storage buffer before current line
[“x]ppaste from register x after current line
[“x]Ppaste from register x before current line
Undo/Redo operation
uundo the last operation.
Ctrl+rredo the last undo.
Search and Replace keys
/search_textsearch document for search_text going forward
?search_textsearch document for search_text going backward
nmove to the next instance of the result from the search
Nmove to the previous instance of the result
:%s/original/replacementSearch for the first occurrence of the string “original” and replace it with “replacement”
:%s/original/replacement/gSearch and replace all occurrences of the string “original” with “replacement”
:%s/original/replacement/gcSearch for all occurrences of the string “original” but ask for confirmation before replacing them with “replacement”
m {a-z A-Z}Set bookmark {a-z A-Z} at the current cursor position
:marksList all bookmarks
`{a-z A-Z}Jumps to the bookmark {a-z A-Z}
Select text
vEnter visual mode per character
VEnter visual mode per line
EscExit visual mode
Modify selected text
~Switch case
ddelete a word.
>shift right
<shift left
!filter through an external command
Save and quit
:qQuits Vim but fails when file has been changed
:wSave the file
:w new_nameSave the file with the new_name filename
:wqSave the file and quit Vim.
:q!Quit Vim without saving the changes to the file.
ZZWrite file, if modified, and quit Vim
ZQSame as :q! Quits Vim without writing changes

That’s the shortcut you can learn on Vim. So Let’s memorize all the Vim Keyboard Shortcut !!

Related posts

Semanage : Command Not Found in CentOS 7

1 Mins read
Semanage is an SELinux (Security-Enhanced Linux) management tool that is used to configure specific elements without making any adjustments to or reassembling…

Install Nextcloud on CentOS 7 + Setting Let’s Encrypt SSL

3 Mins read
Install Nextcloud on CentOS 7 – This guide will walk you through the installation of Nextcloud on CentOS 7 with PHP 7.3,…

Install MariaDB 10.4 on CentOS 7 : Easy Steps

2 Mins read
Install MariaDB 10.4 on CentOS 7 – In this page, we will guide you how to setup MariaDB 10.4 on CentOS 7….

Leave a Reply

Your email address will not be published. Required fields are marked *