人上了年纪身体越来越差,脑子反映越来越慢。为了日后开发方便,好记性不如赖笔头,记录一下 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

更多推荐

Vim__中的常用命令