下面操作中出现大写字母,比如G
表示需要同时按住Shift
和G
键。n
表示输入的数字。其他比如text
则表示字符串。
1、跳转
按键 | 说明 |
---|---|
gg | 跳转到第一行 |
G | 跳转到最后一行 |
ngg / nG | 跳转到最后一行 |
Ctrl+f | 向下翻页 |
Ctrl+b | 向上翻页 |
h | 光标左移 |
j | 光标下移 |
k | 光标上移 |
l | 光标右移 |
w | 移到下一个单词的开头 |
W | 移到下一个单词的开头,忽略标点 |
b | 移到上一个单词的开头 |
B | 移到上一个单词的开头,忽略标点 |
e | 移到下一个单词的末尾 |
E | 移到下一个单词的末尾,忽略标点 |
nw/nW/nb/nB | 跳转n个单词 |
L | 移到当前屏幕最后一行 |
M | 移到当前屏幕中间行 |
$ | 到当前行最后一个字符 |
^ | 到当前行第一个字符 |
0 | 到当前行第一个字符 |
n | |
( | 到句子开头 |
) | 到句子结尾 |
{ | 到段落开头 |
} | 到段落结尾 |
2、查找和替换
(1)查找
按键 | 说明 |
---|---|
/text | 向后查找text字符 |
?text | 向前查找text字符 |
n | 跳转至下一个text字符 |
N | 跳转至上一个text字符 |
:set ic | 查找时忽略大小写 |
:set noic | 查找时对大小写敏感 |
(2)替换
按键 | 说明 |
---|---|
:s/oldtext/newtext/ | 替换当前行第一个oldtext为newtext |
:s/oldtext/newtext/g | 替换当前行所有oldtext为newtext |
:m,ns/oldtext/newtext/ | 在m行到n,用newtext替换第一个oldtext |
:1,$s/oldtext/newtext/ | 在1行到最后一行,用newtext替换第一个oldtext |
:m,ns/oldtext/newtext/g | 在m行到n,用newtext替换oldtext |
:1,$s/oldtext/newtext/g | 在1行到最后一行,用newtext替换oldtext |
在最后输入一个c
(confirm),表示替换前弹出确认提示。按y
则逐一替换当前光标处匹配的字符,n
则跳过当前光标处字符,a
替换全部匹配的字符。
3、复制、删除、撤销、重复
(1) 复制
按键 | 说明 |
---|---|
yy | 复制当前行 |
nyy | 复制当前及向下n行 |
p | 将复制内容黏贴到下一行 |
P | 将复制内容黏贴到上一行 |
另外,输入y+跳转
中的操作,可以为复制指定方向。比如yw
,从当前位置复制到下一个单词的开头。这样可以进行复制一个单词的操作。
(2)删除
按键 | 说明 |
---|---|
dd | 删除当前行(按p可黏贴) |
ndd | 从当前行向下删除n行 |
dG | 从当前行删除到最后一行 |
dgg | 从当前行删除到第一行 |
:n,md | 从第n行删除到第m行 |
x | 删除当前字符 |
nx | 删除当前向后n个字符 |
X | 删除光标前的字符 |
nx | 删除当前向前n个字符 |
另外,输入d+跳转
中的操作,可以为删除指定方向。比如dw
,从当前位置删除至下一个单词的开头。
(3)撤销
按键 | 说明 |
---|---|
u | 撤销上一次操作 |
U | 撤销当前行所有操作 |
. | 重复最后一次操作 |
(4)重复
按键 | 说明 |
---|---|
. | 重复最后一次操作 |
4、其他
按键 | 说明 |
---|---|
J | 将下一行连接到本行末尾 |
nJ | 将下n行连接到本行末尾 |
~ | 将当前字符切换大小写 |
n~ | 将当前向后n个字符切换大小写 |
~ | 将当前字符切换大小写 |
g~~ | 切换当前行大小写 |
u | 列编辑模式下,选中列转换成小写 |
U | 列编辑模式下,选中列转换成大写 |
guu | 当前行转换成小写 |
gUU | 当前行转换成大写 |
guw | 当前单词转换成小写 |
gUw | 当前单词转换成大写 |
5、列编辑
按Ctrl + v,进入列编辑模式。
(1)删除列
进入列编辑模式,
移动光标,选中需要删除的列,
按d,则会删除选中内容。
(2)插入列
进入列编辑模式,
移动光标选中需要插入内容的列。
按shift + i,会在选中列的第一行输入想要插入的内容。
连续按两次ESC,则会在选中的列处全部插入输入字符。