vi/vim经常使用命令
工作模式
插入命令
a 在光标后附加文本
A 在本行行尾附加文本
i 在光标前插入
I 在本行行首插入文本
o 在光标以下插入新的一行
O 在光标上面插入新的一行
定位命令
h 左移一个字符/ 向左的箭头键
j 下移一行 / 向下的箭头键
k 上移一行 / 向上的箭头键
l 右移一个字符 / 向右的箭头键
$ 移动到行尾
0(数字零) 移动到行首
H 移动到屏幕上端
M 移动到屏幕中央
L 移动到屏幕下端
Ctrl + f 向下翻一页 forwardCtrl+b 向前翻一页 backward
Ctrl + d 向后翻半页 down
Ctrl + u 向前翻半页 up
高速定位
:set nu 显示行号
:set nonu 取消行号
gg 移动到第一行
G 移动到最后一行
nG 到第n行
:n 到第n行
删除命令
x 删除光标所在字符
nx 删除连续向后的n个字符
dd 删除所在光标所在一行。ndd删除n行
dG 删除从当前行到文件末尾全部的行,包括当前行
D 删除光标所在处到行尾的内容
:n1,n2d 删除n1~n2行
复制命令
yy。Y 复制当前行
nyy。nY 复制n行
dd 剪切当前行。ndd剪切当前行及一下的n行
p 粘贴在当前行下
P[大写] 粘贴在当前行上
替换或取消命令
r 代替光标所在处字符 样例:要将光标所在的字符替换为b。那么先按下r,在按下b就可以
R 从光标所在处開始替换字符,直到Esc结束
u 取消上一步操作 ,首先你没有保存过,文档还是在内存中。还没有同步到硬盘。
Ctrl + r 重做上一个操作
. (小数点) 反复前一个操作,比如反复删除、反复黏贴
替换或搜索命令
/string 向后搜索指定字符串string。搜索时忽略大写和小写 :set ic 。取消:set noic
n 从前往后翻
N 从后往前翻
?string 向上寻找字符串string
:%s/old/new/g 全文替换指定字符串,old为须要替换的关键词。
:n1,n2s/old/new/g 在一定范围内替换指定字符串
:%s/old/new/c 全文替换指定字符串。可是会询问用户是否确定
保存、退出
ZZ :wq的快捷键
:w new_filename 另存为指定文件
:wq! 强行保存改动并退出[root/文件全部者]
:q! 不保存退出
:[filename] 将文件另存为:r[filename] 在编辑的数据中。读入还有一个文件的数据。即将filename这个文件的内容加入到光标所在行的后面