命令模式 命令模式下: 按a i o进入插入模式 a:光标后插入 i:光标前插入 o:换行插入 按:进入末行模式
$ :光标移动到行尾
0 :光标移动到行首
dd :删除光标所在的一行
ndd:删除包括光标所在的n行数
yy:复制光标所在的一行
nyy:复制包括光标所在的n行数
p :配合dd或yy使用可以实现剪切或者粘贴
np:执行n次p操作
gg:跳到首行
G:跳到尾行
u:撤销
CTRL+r:重做上次操作
H:跳到当前屏幕的第一行
M:调到当前屏幕的中间行
L:跳到当前屏幕的最后一行
查找内容 / 查找的内容
可视块模式
CTRL+v 进入可视块模式 上下键可以选中内容
批量加注释 前提:注释行需要排列整齐 1-先将光标移动到首行的开头位置 2-在命令模式,按CTRL+v 3-上下键选中第一列shift+i,然后输入#,连续按两下esc
批量去注释 1-在命令模式,按CTRL+v 2-上下键选中# 3-按下d
扩展模式(末行模式) 保存退出 :w 保存 :q 退出 :wq 保存退出 :w!强制保存 :q!强制退出 :wq!强制保存退出 :x 保存退出
查找替换 /g 一行全部 :% s/xxx/yyy/g ###所有行替换,分隔符可以是 / @ # 等
:n s/xxx/yyy/g ###单独某一行
:n,$ s/xxx/yyy/g ### n到最后一行 可以替换成空,相当于查找删除
:% s/^xxx/yyy/ ###把行开头为xxx的替换掉
:% s/xxx$/yyy/ ###把行尾为xxx的替换掉
:n,m w 路径+文件名 ###把n到m行写入文件
:n,m s/xxx/yyy/g ###n到m行
:r 路径+文件名 ###从另外一个文件读取内容到当前文件的光标位置
设置环境 临时设置: set nu 设置显示行号
set ic 不区分大小写
set ai 自动缩进
永久配置: /etc/vimrc 在文件末尾加上配置内容 set nu set ic set ai
同时编辑多个文件 vim -o 文件1 文件2 ###同时编辑两个文件,上下排列
vim -O 文件1 文件2 ###同时编辑两个文件,左右排列
使用CTRL+ww切换
文件内容对比 vimdiff 文件1 文件2 ###同时编辑两个文件,左右排列,并标记出不同
交换文件 在编辑文件为保存是自动创建的隐藏备份文件,正常退出时自动删除,异常结束时文件保存
patch:修补,打补丁
