人上了年纪身体越来越差,脑子反映越来越慢。为了日后开发方便,好记性不如赖笔头,记录一下 Vim常用命令 以便日后查询。
Vi常用的2种模式:输入模式,命令模式。常用的vi命令一般都在命令模式下。
光标移动
命令 |
说明 |
esc |
退出输入模式 |
h, j, k, l |
左,下,上,右 移动光标 |
w |
向右移动一个word [word最后一个字母之后] |
e |
向右移动一个word [word最后一个字母上] |
W |
向右移动一系列word,定位在下个word [空白为分隔] |
E |
向右移动一系列word, 定位在当前系列最后一个字母 [空白为分隔] |
b |
向左移动一个word [定位在word第一个字母] |
B |
向左移动一系列word [空白为分隔] |
Ctrl + f |
下一页 |
Ctrl + b |
上一页 |
Ctrl + u |
上半页 |
Ctrl + d |
后半页 |
gg |
第一行 |
G |
最后一行 |
^ |
行首 |
$ |
行尾 |
***编辑,插入 [切换至 "输入模式" ] ***
命令 |
说明 |
o |
当前行下插入一行 |
O |
光标行上插入一行 |
i |
光标前插入 |
I |
光标所在行首插入 |
a |
光标后插入 |
A |
光票所在行尾插入 |
cw |
删除光标所在位置 至 下一个独立字符(符号,标点) |
c$ |
删除光标位置 至 行尾 |
c^ |
删除光标位置 至 行首 |
x |
删除光标位置 字符 不进入 输入模式
|
X |
删除光标前一个位置 字符 不进入 输入模式
|
J |
合并光标下一行,至本行 |
s |
删除光标当前字符 |
S |
删除光标所在行 与 dd 功能相同 |
dd |
删除光标所在行 |
cw/cW |
删除当前单词 从光标开始 的部分并 '进入' 插入模式, |
dw/dW |
删除当前单词 从光标开始 的部分但 '不进入' 插入模式 |
cb/cB |
删除当前单词 从光标所在位置 至 单词开始 的部分并 '进入' 插入模式 |
db/dB |
删除当前单词 从光标所在位置 至 单词开始 的部分但 '不进入' 插入模式 |
cW、cB、dW、dB 是以空白字符(空格、Tab)分隔字符串的 |
比如: “str1-str2 str3-str4”, 对 cW,cB,dW,dB 命令来说是 两个 单词, 对 cw、cb、dw、db 命令来说则是 四个 单词。 |
D |
删除光标位置 至 行尾 |
数字dd |
向下删除 "数字"(n) 行 |
r + 输入 |
命令模式下 替换光标字符 |
u |
撤销上步操作 |
Ctrl + r |
恢复上步操作 |
选择,复制,粘贴
命令 |
说明 |
yy |
拷贝当前行 |
y^ |
复制光标位置 至 行首 |
y$ |
复制光标位置 至 行尾 |
yiw |
复制 当前单词 不包括 周围空白 |
yaw |
复制 当前单词 包括 周围空白 |
p |
粘贴 yy 拷贝的行 |
v |
进入 字符 选择模式,配合h, j, k, l |
V |
进入 行 选择模式,配合h, j, k, l |
搜索,替换
命令 |
说明 |
/搜索内容 |
向下搜索 |
?搜索内容 |
向上搜索 |
n |
向搜索方向 寻找下一个 |
N |
向搜索 反方向 寻找下一个 |
:s/a/b |
搜索当前行第一个1并用2代替,search |
:s/a/b/g |
搜索当前行所有的1并用2代替,global |
:%s/1/2/g |
在整个文档中将1替换为2,全部 |
:/\n |
查找换行符 |
:/\r |
查找回车符 |
保存,退出
命令 |
说明 |
:w |
保存 |
:w! |
强制保存 |
:q |
退出 |
:q! |
强制退出 |
:wq |
保存并退出 |
:wq! |
强制保存并退出 |
ZZ |
保存并退出 |
Ctrl +z |
保存并关闭VI窗口,但不退出编辑 |
fg |
命令行下输入fg,或 fg数字 打开刚刚编辑的文件 |
行号,其他
命令 |
说明 |
:set nu |
显示行号 |
:set nonu |
不显示行号 |
:set hl |
搜索高亮 |
:set noh |
去掉搜索高亮 |
:args |
显示正在编辑的文件 |
:next |
切换到下一个文件 |
:prev |
切换到上一个文件 |
:split |
水平分隔窗口 |
:qsplit |
垂直分隔窗口 |
:first |
定位到一个文件 |
:last |
定位到最后一个文件 |
vim +n fileName |
打开文件,光标定位到行 n |
网友评论