vim编辑器:编辑文本文件中的内容的工具
vim filename 打开vim并创建名为filename的文件
命令模式:仅仅可以查看内容,但是不能修改
命令模式下常用操作
第一类操作:复制移动删除文件内容
yy:复制光标所在行
nyy:复制光标所在行开始向下的n行
dd:剪切光标所在行
ndd:剪切光标所在行开始向下的n行
p(小):黏贴到光标所在行的下边
P(大):黏贴光标所在行的上边
D:删除光标所在行到行尾的内容
dG:删除光标所在的行到末尾的全部的行
第二类操作:撤销和重复执行的相关操作
u:撤销上次的操作
nu:撤销n次操作(n的最大值是50)
ctrl + r撤销刚刚所撤销的那个动作
第三类操作:跳转相关操作
nG:跳转到第n行
G:跳转到最后一行
0:跳转到行首(会认为空格也是内容,此时会跳转到空格的最前边)
^:跳转到行首(不认为空格是内容,此时会跳转到第一个非空字符)
$:跳转到行尾
ctrl+f:向下翻一屏
ctrl+b:向上翻一屏
第四类操作:替换相关操作
r:替换一个字符(替换完成后,自动返回到编辑模式)
/string:在文件中搜索指定的字符串
n:正向查找
N:反向查找
输入模式:可以对文件中的内容进行修改
末行模式:此模式可以执行一些命令
第一类命令:行号
set nu:显示行号
set nonu:关闭行号
第二类命令:跳转
num:直接跳转到第num行
$:直接跳转到最后一行
第三类命令:取消匹配到内容的高亮
nohl
第四类命令:替换
start,end s/原始内容/替换内容/g(分隔符不一定是/,只要是三个相同的符号即可)
注意如果不用g,那么仅仅会替换每行的第一个找到的对象
如果是使用g,那么会将范围内所有找到的对象,全部做替换
第五类命令:保存退出
w:执行保存操作(保存到原始文件中)
w path/to/file:实现文件另存为
q:退出
!:强制执行操作
第六类命令:高级操作
!命令:在vi中直接执行命令
r /path/to/file:将file中的内容导入到当前文件中
set ai:设置自动缩进
set noai:取消自动缩进
第七类命令:复制,移动,删除多行的操作
start,end d:删除多行
start,end m dest:将多行移动到指定行下边
start,end co dest:将多行复制到指定行下边
vim -o file1 file2:实现水平分屏
vim -O file1 file2实现垂直分屏
ctrl + w :切换到另一个分屏
vi崩溃缓存机制
用vim编辑一个文件,如果文件没有正常关闭,(wq q q!)那么就会生成一个崩溃缓存文件
崩溃缓存文件的作用
1.缓存文件是隐藏文件
2.缓存文件的基本格式是 .file.swp
3.缓存文件的作用是用于在系统意外关机的情况下,恢复文件中的内容(修改了文件内容,意外关掉终端或系统)
4.缓存文件的使用方式
第一步:vim -r .file.swp
第二步:保存退出
第三步:删除缓存文件
注意:
1.如果文件发生修改无法直接退出
2.如果要退出一个修改了的文件,有三种方式
方式一:先执行保存(w),然后执行q
方式二:直接保存退出wq
方式三:不保存,并强制执行退出操作q!