vi和vim都是Linux中的编辑器,不同的是,vim比较高级,可以视为vi的升级版。vi使用于文本编辑,vim更适用于coding
vim的重点是 光标的移动,模式切换,删除,查找,替换,复制,粘贴,撤销命令的使用
vim的三种模式(重点)
vim中存在三种模式(大众认知,其实不止)
命令模式、编辑模式(输入模式)、末行模式(尾行模式)
命令模式:
在该模式下是不能对文件直接编辑,可以输入快捷键进行一些操作(删除行,复制行,移动光标,粘贴等等)(打开文件默认进入的模式)
编辑模式:
在该模式下可以对文件的内容进行编辑
末行模式:
可以在末行输入命令来对文件进行操作(搜索,替换,保存,退出,撤销,高亮等等)
vim打开文件的方式(常见4种)
vim 文件路径 作用:打开指定文件
vim +数字 文件路径 作用:打开指定的文件,并且将光标移动到指定行
vim +/关键词 文件路径 作用:打开指定文件,并且高亮显示关键词
vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件
一、命令模式
注意:该模式是打开文件的第一个看到的模式(打开文件即可进入)
1.1光标的移动操作
①光标移动到行首:
按键:shift+6 或者 ^(字母t上面的)
②光标移动到行尾
按键:shift+4 或者 $(字母r左上的)
③光标移动到首行
按键:gg
④光标移动到末行
按键:G
⑤翻屏
向上翻屏:ctrl+b 或者 pgup
向下翻屏:ctrl+f 或者 pgdn
1.2复制操作
①复制光标所在行
按键:yy
粘贴:在想要粘贴的地方按下p键
②以光标所在行为准(包含当前行),向下复制指定的行数
按键:数字yy
③:可视化复制
按键:ctrl+v,按上下左右键选中需要复制的区块,按下yy进行复制,最后按下p粘贴
1.3剪切/删除
①剪切/删除光标所在行
按键:dd
注意:dd严格意义上是剪切命令,但是如果剪切了不粘贴就是删除效果
②剪切/删除光标所在行为准,向下删除/剪切指定数目的行
按键:数字dd
③剪切/删除光标所在的当前行,但是删除之后,下一行不上移
按键:D
1.4撤销/恢复
撤销:输入:u (不属于命令模式) 或者 u
恢复:ctrl+r 取消之前的撤销
1.5扩展1:光标的快速移动
①快速将光标移动到指定的行数
按键:数字G
②以当前光标为准向上/向下移动n行
按键:数字↑/数字↓
③以当前光标为准向左/向右移动n个字符
按键:数字←/数字→
④末行模式下的快速移动光标方式:移动到指定的行
按键:输入英文 ":"行数数字,按下回车
二.模式间的切换
命令模式(默认)--(输入:)-->末行模式--(按一下esc/按两下esc/删除所有命令包括:)-->命令模式
命令模式(默认)--(按下i,a等)-->编辑模式--(按一下esc)-->命令模式
三.末行模式
3.1保存操作
输入:":w" 保存文件
输入:":w 路径" 另存为文件
3.2退出操作
输入:":q" 退出文件
3.3保存并退出
输入:":wq" 保存文件并退出
3.4强制(!)
输入:":q!" 表示强制退出,刚才作的修改不保存
3.5调用外部命令(了解)
输入:":!外部命令"
当外部命令执行结束后,按下任意键返回vim打开的内容
3.6搜索
输入:"/关键词"
在搜索结果中切换上/下一下结果:N/n
如果要取消高亮显示,则需要输入:":nohl"
3.7替换
①:s/搜索的关键词/新的内容 替换光标所在行的第一处符合条件的内容
②:s/搜索的关键词/新的内容/g 替换光标所在行的全部符合条件的内容
③:%s/搜索的关键词/新的内容 替换整个文档中每行第一个符合条件的内容
④:%s/搜索的关键词/新的内容/g 替换整个文档中符合条件的内容
%表示整个文件
g表示全局(global)
3.8显示号
输入:":set nu"
如果想取消,输入:":set nonu"
3.9扩展2--使用vim同时打开多个文件,在末行模式下进行切换文件
第一步:查看一下当前已经打开的文件名称:输入:":files"
在%a的位置有2中显示的可能(除了空白)
%a : a=active 表示当前正在打开的文件
# : 表示上一个打开的文件
第二步:切换文件
①如果需要指定切换文件的名称,则可以输入:":open 已经打开的文件名称"
②可以通过其他命令来切换上一个文件/下一个文件,
可以输入:":bn"切换到下一个文件
可以输入:":bp"切换到上一个文件
四.编辑模式
暂时记住两个进入编辑模式的方式
按下 i : 在光标所在的字符前开始插入
按下 a : 在光标所在的字符后开始插入
五.实用功能
5.1代码着色
显示:":syntax on" syntax:语法
关闭显示:"syntax off"
5.2vim中计算器的使用
当在编辑文件的时候突然需要使用计算器去计算一些公式,则此时需要使用到计算器,vim自身集成了一个简易的计算器
第一步:进入到编辑模式
第二步:按下按键"ctrl+R",然后输入"=",此时光标会变到最后一行
第三步:输入需要计算的内容,按下回车
六.拓展3
6.1 vim的配置(重点)
vim是一款编辑器,编辑器也是有配置文件的,
vim配置有三种情况:
1.在文件打开的时候在末行模式下输入的配置(临时的)---例如显示行号呀,代码着色
2.个人配置文件(在~/.vimrc 如果没有可以自行新建)
3.全局配置文件(vim自带的 , 在/etc/vimrc)
①新建好个人配置文件之后进入编辑
②在配置文件中进行配置
比如显示行号:set nu
配置好之后vim打开文件就会永远显示行号
问题:如果针对某个配置项,在个人配置文件与全局配置文件产生冲突的时候应该以谁为准?---以个人配置为准
6.2 异常退出
在编辑文件以后并没有正常的wq(保存退出),而是遇到突然关闭终端或者断电的情况,则会显示下面的情况,这个情况称之为异常退出
解决办法:将交换文件删除掉(在编辑过程中产生的临时文件)即可
6.3别名机制
作用:相当于创建一些属于我们自己的自定义的命令
例如:在windows下有cls清屏命令,在Linux下可能因为没有这个命令而不习惯清屏,现在可以通过别名机制来解决这个问题,可以自己创造出cls命令
别名机制依靠一个别名映射文件: ~/.bashrc
vim ~/.bashrc 进入编辑 alias别名 记得:wq退出
注意:上面将别名创建好之后,向要它生效,必须重新登陆当前账户
6.4退出方式
之前退出vim可以使用: ":q" ":wq"
除了上面的语法之外,vim还支持另外一个保存退出方法 ":x"
说明 :
":x"在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并退出
如果文件没有被修改,但是使用:wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用:x进行退出的话,则文件修改时间不会被更新的.
主要是会混淆用户对文件修改时间的认定,建议用":x"进行对文件的保存退出
注意是小写的x,不要使用X. X表示对文件进行加密操作