vim的三种模式
- 命令模式 浏览文件,临时更改 vim 的工作方式,对字符批量处理
- 插入模式 对文件内容进行编辑
- 退出模式 退出 vim 程序
1.命令模式
- 调整 vim 的工作方式
在 vim 中,使用 :set 调整参数
:set nu 在每一行前显示行号
:set nonu 取消行号显示
:set mouse=a 显示鼠标
:set cursorline 显示行线
在 vim 程序中设定的 vim 工作方式是临时的,在 vim 关闭后设置会被还原
如果要永久保存 vim 的工作方式需要编辑 vim 的配置文件 /etc/vimrc
- 字符的搜索
/关键字 高亮标记与关键字匹配的字符,n 键向下匹配,N 键向上匹配
- 字符的管理
yl 复制一个字符
y3l 复制三个字符
yw 复制一个单词
y3w 复制三个单词
yy 复制一行
y3y 复制三行
dl 删除一个字符
d3l 删除三个字符
dw 删除一个单词
d3w 删除三个单词
dd 删除一行
d3d 删除三行
cl 剪切一个字符
c3l 剪切三个字符
cw 剪切一个单词
c3w 剪切三个单词
cc 剪切一行
c3c 剪切三行
p 粘贴
u 撤销
Ctrl + r 恢复撤销
在进行剪切操作后,vim 会进入插入模式,此时如果需要粘贴,
按【Esc】退出插入模式,然后按 p键 粘贴
- 可视化模式
Ctrl + v 进入 VISUAL BLOCK 模式,可以进行区域操作
y 复制
d 删除
c 剪切
批量添加字符:Ctrl + v 选中要加入字符所在的列,按大写的 I 加入字符,然后按【Esc】完成批量添加
- 字符的替换
替换指令:
:%s/要替换的字符/替换成的字符/g
其中 %s 标示所有的行,g 标示所有的列
如:
:%s/:/@/g 替换全文的 : 为 @
:1,5s/:/@/g 替换1-5行的: 为 @
:%s/:/@/ 替换全文每一行第一个 : 为 @
- 分屏功能
Ctrl + w s 上下分屏
Ctrl + w v 左右分屏
Ctrl + w c 关闭光标所在的屏幕
Ctrl + w 上下左右 光标移动到指定屏幕
:sp file2 同时编辑当前文件和file2
- 光标的移动
gg 光标移动到文件的第一行
G 光标移动到文件的最后
:数字 光标移动到指定的行
2.插入模式
i 光标所在位置插入
I 光标所在行行首插入
o 光标所在行的下一行插入
O 光标所在行的上一行插入
a 光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入
3.退出模式
:q 退出,在文件内容没有被改变时使用
:wq 退出保存
:q! 强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出保存,在对只读文件编写时使用
在使用 :wq! 命令时,所编辑的文件必须是当前用户的文件,或者当前操作的用户是 root
- 关于 vim 的异常退出
当 vim 异常退出时,会出现以下情况:
Swap file ".filename.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
O 只读打开
E 继续编辑
R 恢复数据
D 删除 swap 文件
Q 退出
A 退出
无论按【O】【E】【R】【Q】【A】任意一个都不会删除 .swp 文件
再次打开此文件还是会出现以上界面直到按【D】, .swp 文件被删除,vim 恢复正常工作