vim手册
移动
^ 移动到行首第一个非空字符
0 移动到行首(包括空字符)
$ 移动到行尾
[n]ctrl+end 移动到第n行尾
[n]ctrl+home 移动到第n行首个非空字符
+ 移动到下一行行首
- 移动到上一行行首
w 后移到单词首
e 后移到单词尾
b 前移到单词首
ctrl+R 撤销撤销
ctrl+u 上翻半页
ctrl+d 下翻半页
n+G 跳转到第n行
G 跳转到尾行
gg 跳转到首行
ctrl+o 跳转到光标上次的位置
% 跳转到光标所在括号的另一半
v-移动 进入可视模式进行选取,可以d(删除)
z+<回车> 当前行显示在屏幕顶
z+<.> 当前行显示在屏幕中央
z+<-> 当前行显示在屏幕底
[行号]+z+<> 效果同样
删除 对光标前的操作都不包含光标处字符
对光标后的操作都包含光标处字符
x 删除光标当前字符
s 删除光标所在字符并进入插入模式
dw 删除到单词尾(含空格)
de 删除到单词尾(不含空格)
[n]dd 从光标处向下删除n行
d& 从光标删除到行尾
d^ 从光标删除到行首
插入
i 在光标前插入
I 本行首插入
a 光标后插入
A 本行尾插入
o 下一行插入
O 上一行插入
y 复制.可以配合v和移动命令($,^,w)等
p 粘贴
r 替换光标所在处的一个字符
R 从光标所在处开始替换
修改
u 撤销一步
U 撤销本行操作
ce 删除到单词尾,并进入插入模式
c* = d*+i c$ c^
:s/old/new 替换光标所在行的第一个old为new
:s/old/new/g 替换光标所在行所有的old为new
:n,ms/old/new/g替换第n行到第m行之间所有
:%s/old/new/g 替换整个文件
:%s/old/new/gc 替换整个文件,需对每个替换确认
搜索
/xxx 向后搜索xxx,n定位到下一个,N定位到上一个
?xxx 向上搜索xxx,n定位到上一个,N定位到下一个
文件操作
:w test 另存为test
:! dir 执行shell命令