vi
多模式文本编辑器
多模式产生的原因
四种模式
- 正常模式
- 插入模式
- 命令模式
- 可视模式
vi
man vi
vim
vim正常模式
直接vim回车,或vim空格文件名回车
i进入插入模式
I(shift+i)进入插入模式,且光标到达所在行的开头
a,插入光标所处位置的下一位置
A(shift+a),插入光标所在行的最末尾
o,插入到光标所在行的下一行,原有的光标下面的行依次下移一行
o之前
o之后
O(shift+o),光标所在行的上一行进入到插入模式
O之前
O之后
正常模式(即vim命令直接进入的模式)下:
h左移
j下移
k上移
l右移
箭头在字符终端中可能有乱码,推荐掌握hjkl
y复制
yy 单行复制
在光标所在处点yy
光标上移到第三行
点p,复制
复制到了第四行
点击3yy
下面会显示复制了三行,点p执行复制
y$(y+shift4),复制光标所在位置到光标所在行的最末尾
d剪切
dd,剪切一行
d$,剪切光标所在位置到所在的结束
u撤销
ctrl+r,撤销错了,进行重做
其他
x,单个字符进行删除,光标移动到目标字符,点x,删除该字符
r,单个字符替换,光标移动到字符,点r,输入要替换的字符即可
nG(11+shiftg),移动到第n行,如11G,移动到第11行
g,移动到第一行
G(shift+g),移动到最后一行
^(shift6),移动到光标所在行的开头
$(shift4),移动到光标所在行的结尾
:set nu,显示行号
:set nonu,取消行号
vim命令模式
文件保存
如果vim进入的,:w+保存路径和文件名,进行保存
如果vim空格文件名进入的,:w,进行保存
:!(冒号叹号),后面跟linux命令,如查看IP地址
/目标字符,查找目标字符,n查找下一个
:s/old/new,用new替换old,默认只针对光标所在的行进行替换
:set nohlsearch,取消高亮显示
:%s/old/new,
:%s/old/new/g,全局替换
:3,5s/old/new,在第三行到第五行之间进行替换
设置配置文件
vim /etc/vimrc
最后一行添加
set nu
设置显示行号
vim可视模式,即选中
操作之前
ctrl+v,进入块可视模式
此时选中的可以是上下对齐的块
可以 对块进行批量操作
shift+i,即I
插入123,
按两次ESC
发现整个块前面都插入了123
也可以选中想要删除的块,按d删除