mirror of
https://github.com/namibia/awesome-cheatsheets.git
synced 2024-11-08 06:15:23 +00:00
Merge pull request #273 from erfanansari/update-vim
add more shortcuts to vim.txt
This commit is contained in:
commit
3c2016f645
@ -20,13 +20,15 @@ e jump to end of words (punctuation considered words)
|
|||||||
E jump to end of words (no punctuation)
|
E jump to end of words (no punctuation)
|
||||||
b jump backward by words (punctuation considered words)
|
b jump backward by words (punctuation considered words)
|
||||||
B jump backward by words (no punctuation)
|
B jump backward by words (no punctuation)
|
||||||
ge jump backward to end of words
|
ge jump backward to end of a word
|
||||||
|
gE jump backwards to the end of a word (words can contain punctuation)
|
||||||
0 (zero) start of line
|
0 (zero) start of line
|
||||||
^ first non-blank character of line
|
^ first non-blank character of line
|
||||||
$ end of line
|
$ jump to the end of the line
|
||||||
- move line upwards, on the first non blank character
|
g_ jump to the last non-blank character of the line
|
||||||
+ move line downwards, on the first non blank character
|
- move line upwards, on the first non-blank character
|
||||||
<enter> move line downwards, on the first non blank character
|
+ move line downwards, on the first non-blank character
|
||||||
|
<enter> move line downwards, on the first non-blank character
|
||||||
gg go to first line
|
gg go to first line
|
||||||
G go to last line
|
G go to last line
|
||||||
ngg go to line n
|
ngg go to line n
|
||||||
@ -38,10 +40,6 @@ nG go To line n
|
|||||||
} move the cursor a paragraph forwards
|
} move the cursor a paragraph forwards
|
||||||
]] move the cursor a section forwards or to the next {
|
]] move the cursor a section forwards or to the next {
|
||||||
[[ move the cursor a section backwards or the previous {
|
[[ move the cursor a section backwards or the previous {
|
||||||
CTRL-f move the cursor forward by a screen of text
|
|
||||||
CTRL-b move the cursor backward by a screen of text
|
|
||||||
CTRL-u move the cursor up by half a screen
|
|
||||||
CTRL-d move the cursor down by half a screen
|
|
||||||
H move the cursor to the top of the screen.
|
H move the cursor to the top of the screen.
|
||||||
M move the cursor to the middle of the screen.
|
M move the cursor to the middle of the screen.
|
||||||
L move the cursor to the bottom of the screen.
|
L move the cursor to the bottom of the screen.
|
||||||
@ -49,6 +47,16 @@ fx search line forward for 'x'
|
|||||||
Fx search line backward for 'x'
|
Fx search line backward for 'x'
|
||||||
tx search line forward before 'x'
|
tx search line forward before 'x'
|
||||||
Tx search line backward before 'x'
|
Tx search line backward before 'x'
|
||||||
|
CTRL-y moves screen up one line
|
||||||
|
CTRL-e moves screen down one line
|
||||||
|
CTRL-u moves cursor & screen up ½ page
|
||||||
|
CTRL-d moves cursor & screen down ½ page
|
||||||
|
CTRL-b moves screen up one page, cursor to last line
|
||||||
|
CTRL-f moves screen down one page, cursor to first line
|
||||||
|
zz shift current line to middle of screen
|
||||||
|
z. same as zz but also jumps to the first non-black character
|
||||||
|
zt shift current line to top of screen
|
||||||
|
zb shift current line to bottom of screen
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -60,8 +68,15 @@ Tx search line backward before 'x'
|
|||||||
ma make a bookmark named a at the current cursor position
|
ma make a bookmark named a at the current cursor position
|
||||||
`a go to position of bookmark a
|
`a go to position of bookmark a
|
||||||
'a go to the line with bookmark a
|
'a go to the line with bookmark a
|
||||||
|
`0 go to the position where Vim was previously exited
|
||||||
|
`" go to the position when last editing this file
|
||||||
`. go to the line that you last edited
|
`. go to the line that you last edited
|
||||||
|
`` go to the position before the last jump
|
||||||
|
g, go to newer position in change list
|
||||||
|
g; go to older position in change list
|
||||||
|
|
||||||
|
# Tip: To jump to a mark you can either use a backtick (`) or an apostrophe (').
|
||||||
|
# Using an apostrophe jumps to the beginning (first non-blank) of the line holding the mark.
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# INSERT MODE
|
# INSERT MODE
|
||||||
@ -70,10 +85,13 @@ ma make a bookmark named a at the current cursor position
|
|||||||
|
|
||||||
i start insert mode at cursor
|
i start insert mode at cursor
|
||||||
I insert at the beginning of the line
|
I insert at the beginning of the line
|
||||||
|
gi return to insert mode where you inserted text the last time
|
||||||
|
gI like "I", but always start in column 1
|
||||||
a append after the cursor
|
a append after the cursor
|
||||||
A append at the end of the line
|
A append at the end of the line
|
||||||
o open (append) blank line below current line
|
o open (append) blank line below current line
|
||||||
O open blank line above current line
|
O open blank line above current line
|
||||||
|
CTRL-o Temporarily enter normal mode to issue one normal-mode command(while in insert mode)
|
||||||
Esc exit insert mode
|
Esc exit insert mode
|
||||||
|
|
||||||
|
|
||||||
@ -84,10 +102,25 @@ Esc exit insert mode
|
|||||||
|
|
||||||
r replace a single character (does not use insert mode)
|
r replace a single character (does not use insert mode)
|
||||||
R enter Insert mode, replacing characters rather than inserting
|
R enter Insert mode, replacing characters rather than inserting
|
||||||
J join line below to the current one
|
J join line below to the current one with one space in between
|
||||||
|
gJ join line below to the current one without space in between
|
||||||
cc change (replace) an entire line
|
cc change (replace) an entire line
|
||||||
cw change (replace) to the end of word
|
cw change (replace) to the end of word (same as ce)
|
||||||
C change (replace) to the end of line
|
2cw change (replace) repeat cw twice
|
||||||
|
ciw change (replace) word under the cursor
|
||||||
|
caw change (replace) word under the cursor and the space after or before it
|
||||||
|
ci" change (replace) word inside ""
|
||||||
|
cit change (replace) html tag content
|
||||||
|
cat change (replace) html tag
|
||||||
|
cis change (replace) sentence under the cursor
|
||||||
|
cas change (replace) sentence under the cursor and the space after or before it
|
||||||
|
cib change (replace) inside a block with ()
|
||||||
|
cab change (replace) a block with ()
|
||||||
|
ciB change (replace) inside a block with {}
|
||||||
|
caB change (replace) a block with {}
|
||||||
|
C change (replace) to the end of line(same as c$)
|
||||||
|
cG change (replace) to the end of the file
|
||||||
|
cgg change (replace) from first line to current line
|
||||||
ct' change (replace) until the ' character (can change ' for any character)
|
ct' change (replace) until the ' character (can change ' for any character)
|
||||||
s delete character at cursor and substitute text
|
s delete character at cursor and substitute text
|
||||||
S delete line at cursor and substitute text (same as cc)
|
S delete line at cursor and substitute text (same as cc)
|
||||||
@ -102,6 +135,7 @@ guiw make current word lowercase
|
|||||||
gU$ make uppercase until end of line
|
gU$ make uppercase until end of line
|
||||||
gu$ make lowercase until end of line
|
gu$ make lowercase until end of line
|
||||||
>> indent line one column to right
|
>> indent line one column to right
|
||||||
|
>i{ indent everything in the {}
|
||||||
<< indent line one column to left
|
<< indent line one column to left
|
||||||
== auto-indent current line
|
== auto-indent current line
|
||||||
ddp swap current line with next
|
ddp swap current line with next
|
||||||
@ -110,6 +144,7 @@ ddkP swap current line with previous
|
|||||||
:r [name] insert the file [name] below the cursor.
|
:r [name] insert the file [name] below the cursor.
|
||||||
:r !{cmd} execute {cmd} and insert its standard output below the cursor.
|
:r !{cmd} execute {cmd} and insert its standard output below the cursor.
|
||||||
|
|
||||||
|
# Tip: Instead of b or B one can also use ( or { respectively.
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# DELETING TEXT
|
# DELETING TEXT
|
||||||
@ -118,10 +153,15 @@ ddkP swap current line with previous
|
|||||||
|
|
||||||
x delete current character
|
x delete current character
|
||||||
X delete previous character
|
X delete previous character
|
||||||
dw delete the current word
|
dw delete (cut) to the end of word (same as de)
|
||||||
|
diw delete (cut) word under the cursor
|
||||||
|
daw delete (cut) word under the cursor and the space after or before it
|
||||||
|
dap delete (cut) a paragraph
|
||||||
dd delete (cut) a line
|
dd delete (cut) a line
|
||||||
dt' delete until the next ' character on the line (replace ' by any character)
|
dt' delete (cut) until the next ' character on the line (replace ' by any character)
|
||||||
D delete from cursor to end of line
|
dG delete (cut) to the end of the file
|
||||||
|
dgg delete (cut) from first line to current line
|
||||||
|
D delete (cut) from cursor to end of line (same as d$)
|
||||||
:[range]d delete [range] lines
|
:[range]d delete [range] lines
|
||||||
|
|
||||||
|
|
||||||
@ -136,6 +176,10 @@ yy yank (copy) a line
|
|||||||
y$ yank to end of line
|
y$ yank to end of line
|
||||||
p put (paste) the clipboard after cursor/current line
|
p put (paste) the clipboard after cursor/current line
|
||||||
P put (paste) before cursor/current line
|
P put (paste) before cursor/current line
|
||||||
|
gp put (paste) the clipboard after cursor and leave cursor after the new text
|
||||||
|
gP put (paste) before cursor and leave cursor after the new text
|
||||||
|
"+y yank into the system clipboard register
|
||||||
|
"+p paste from the system clipboard register
|
||||||
:set paste avoid unexpected effects in pasting
|
:set paste avoid unexpected effects in pasting
|
||||||
:registers display the contents of all registers
|
:registers display the contents of all registers
|
||||||
"xyw yank word into register x
|
"xyw yank word into register x
|
||||||
@ -147,6 +191,12 @@ P put (paste) before cursor/current line
|
|||||||
"xgP just like "P", but leave the cursor just after the new text
|
"xgP just like "P", but leave the cursor just after the new text
|
||||||
:[line]put x put the text from register x after [line]
|
:[line]put x put the text from register x after [line]
|
||||||
|
|
||||||
|
# Tip: if you are using vim extension on vs code, you can enable
|
||||||
|
"vim.useSystemClipboard": true
|
||||||
|
in setting.json, this will allow to Use system clipboard for unnamed register.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# MACROS
|
# MACROS
|
||||||
@ -157,6 +207,7 @@ qa start recording macro 'a'
|
|||||||
q end recording macro
|
q end recording macro
|
||||||
@a replay macro 'a'
|
@a replay macro 'a'
|
||||||
@: replay last command
|
@: replay last command
|
||||||
|
@@ repeat macro
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -172,9 +223,11 @@ CTRL-v start visual block mode
|
|||||||
O move to other corner of block
|
O move to other corner of block
|
||||||
aw mark a word
|
aw mark a word
|
||||||
ab a () block (with braces)
|
ab a () block (with braces)
|
||||||
ab a {} block (with brackets)
|
aB a {} block (with brackets)
|
||||||
|
at a block with <> tags
|
||||||
ib inner () block
|
ib inner () block
|
||||||
ib inner {} block
|
iB inner {} block
|
||||||
|
it inner <> block
|
||||||
Esc exit visual mode
|
Esc exit visual mode
|
||||||
|
|
||||||
VISUAL MODE COMMANDS
|
VISUAL MODE COMMANDS
|
||||||
@ -194,6 +247,7 @@ v% selects matching parenthesis
|
|||||||
vi{ selects matching curly brace
|
vi{ selects matching curly brace
|
||||||
vi" selects text between double quotes
|
vi" selects text between double quotes
|
||||||
vi' selects text between single quotes
|
vi' selects text between single quotes
|
||||||
|
gv reselect the last selected area
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
# SPELLING
|
# SPELLING
|
||||||
@ -283,7 +337,6 @@ CTRL-w < increase window width
|
|||||||
CTRL-w > decrease window width
|
CTRL-w > decrease window width
|
||||||
CTRL-w = equal window
|
CTRL-w = equal window
|
||||||
CTRL-w o close other windows
|
CTRL-w o close other windows
|
||||||
zz Centers the window to the current line
|
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
@ -306,12 +359,14 @@ clast display the last error
|
|||||||
|
|
||||||
|
|
||||||
% show matching brace, bracket, or parenthese
|
% show matching brace, bracket, or parenthese
|
||||||
gf edit the file whose name is under or after the cursor
|
gf edit the file whose name is under the cursor
|
||||||
|
gF edit the file whose name is under the cursor and jump to the line number
|
||||||
gd when the cursor is on a local variable or function, jump to its declaration
|
gd when the cursor is on a local variable or function, jump to its declaration
|
||||||
'' return to the line where the cursor was before the latest jump
|
'' return to the line where the cursor was before the latest jump
|
||||||
gi return to insert mode where you inserted text the last time
|
|
||||||
CTRL-o move to previous position you were at
|
CTRL-o move to previous position you were at
|
||||||
CTRL-i move to more recent position you were at
|
CTRL-i move to more recent position you were at
|
||||||
|
:set nu display numbers (short for :set number)
|
||||||
|
:set nonu hide numbers (short for :set nonumber)
|
||||||
|
|
||||||
|
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
Loading…
Reference in New Issue
Block a user