vim编辑器
命令模式
命令模式下:
按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:修补,打补丁