vi/vim大法好。vim 是 vi 的升级版本,它不仅兼容vi的所有指令,还有新增了一些新的特性

vi filename
vim filename

2个命令等效

 

常规操作

 

命令 说明
x 删除光标下的字符
X 删除光标左边的字符
s 修改一个字符(与r的区别,修改后直接进入Insert模式)
i 光标前插入字符
a 光标后插入字符
A 行尾插入字符
o 光标下方新建一行并进入Insert模式
O (字母) 光标上方新建一行并进入Insert模式
r 替换字符(单个)
R 替换字符(多个)
cw 替换文本直到单词末尾(ce也可)
c$ 替换文本直到行尾
dw 删除单词 (de, d2w)
d$ 删除到行尾
D 删除到行尾
S 删除到行为,并进入Insert模式
dd 删除整行
y 复制
yy 复制整行 (yw, ye)
p 粘贴到光标之后
P 粘贴到光标之前
u 撤销
. 重复上一次操作
:! 执行外部名 (:!dir/:ls)
% 查找配对的括号 ), }, ]
v motion :w 选择性保存
Ctrl + D 查看可能的补全

 

光标移动

 

命令 说明
h
l
k
j
0 (数字) 行首
$ 行尾
w 下一个单词起始处
nw (2w) n可为数字,表示移动两个单词
e 单词末尾(与w的区别)
gg 文件起始处
G 文件末尾处

退出

命令 说明
:wq 保存并退出
ZZ 保存并退出
:q! 丢弃修改并退出 (q退出,有修改的话q不能退出)
:e! 丢弃修改并打开原文件

查找并替换

命令 说明
:s/old/new/g 查找old并替换为new,g代表整行匹配
:#, #s/old/new #, #代表首尾行号
:%s/old/new/g 全文匹配替换
:%s/old/new/gc 全文匹配替换,并每次替换会弹出确认提示

翻页

命令 说明
Ctrl + e 向下滚动一行
Ctrl + y 向上滚动一行
Ctrl + f 向下翻一页
Ctrl + b 向上翻一页
Ctrl + u 向上翻半页
Ctrl + d 向下翻半页

文件操作

命令 说明
:e + filename 打开新文件
:r + filename 读取文件并插入到当前文件

选项设置

命令 说明
:set ic 忽略大小写
:set is 部分匹配(like)
:set hls 高亮匹配
:set nu 显示行号

分屏启动vim

命令 说明
vim -on file1 file2... 水平分屏
vim -On file1 file2... 垂直分屏

关闭分屏

命令 说明
Ctrl + w  c 关闭当前窗口(如果是最后一个,无法关闭)
Ctrl + w q 关闭当前窗口(如果是最后一个,则退出vim)

分屏

命令 说明
Ctrl + w s 上下分屏
Ctrl + w v 左右分屏
:sp filename 左右分屏,且打开一个新的文件
:vsp filename 上下分屏,且打开一个新的文件

切换分屏(光标切换)

命令 说明
Ctrl + w l 右边
Ctrl + w h 左边
Ctrl + w j 上边
Ctrl + w k 下边

分屏尺寸调整

TIPS: (上下分屏生效)

命令 说明
Ctrl + w = 所有屏一样高度
Ctrl + w + 增加高度
Ctrl + w - 减少高度