一、vim的三种模式
Vim常见的有三种模式:命令模式、编辑模式和末行模式
命令模式:在该模式下是不能对文件直接进行编辑的,可以输入一些快捷键进行一些操作(例如:删除行、复制行、移动光标、复制粘贴等等)同时该模式是打开文件后默认进入的模式。
编辑模式:在该模式下对文件的内容进行编辑。
末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、搜索、替换、保存、退出、撤销、高亮等等)
Vim打开文件的方式(4种)
①vim 文件路径 作用:打开指定的文件
②vim +数字 文件的路径 作用:打开指定的文件,并将光标移动到指定行
③vim +/关键词 文件的路径 作用:打开指定的文件,并且高亮显示关键词
④vim 文件路径1 文件路径2 文件路径3 作用:同时打开多个文件
重点:先复制出一个/etc/passwd文件,复制到当前家目录下
退出方式:shift + : 按q
二、命令模式
注意:打开文件第一个看到的模式
1、光标操作
①光标移动到行首
按键:按住shift+6或者^(不是小键盘的6)
②光标移动到行尾
按键:按住shift+4或者$(不是小键盘的4)
③光标移动到首行
按键:gg
④光标移动到末行
按键:G
⑤翻屏
向上翻屏:按键:CTRL+b(before) / PgUp
向下翻屏:按键:CTRL+f(after) / PgDn
2、复制操作
①复制光标所在行
按键:yy
粘贴:想要粘贴地方按p
②一光标所在行为准(包含了当前行),向下复制指定的行数
按键:数字 yy
③可视化复制
按键:CTRL+v,按上下左右方向键来选中需要复制的块数3
3、剪切/删除
①剪切/删除光标所在行
按键:dd (删除之后下一行上移)
注意:dd 严格意义上说是剪切命令,但如果剪切了不粘贴就是删除效果
②一光标所在行为准,剪切/删除指定的行
按键:dd (删除之后下一行上移)
③剪切/删除光标所在的当前行,但是删除之后下一行不上移
按键:D (删除后当前行变空白行)
4、撤销/恢复
撤消: 输入:u 或者直接u(undo)
恢复: CTRL+r 取消之前的撤销操作
5、扩展1:光标的快速移动
①快速将光标移动到指定行
按键:数字 G
②以当前光标为准向上/下移动n行
按键:数字 ↑ 数字 ↓
③以当前光标为准向左/向右移动n个字符
按键:数字 ← 数字 →
④末行模式下的快速移动光标的方式:移动到指定的行
按键:输入英文“:”,其后输入行数数字,按下回车
三、模式间的切换(重点)
五、末行模式
进入方式:由命令模式模式进入,按下“:”或者“/“即可进入
退出方式:
a.按下esc
b.按两次esc键
c.删除末行全部输入全部字符
①保存操作
输入:“w” 保存文件
输入:“w 路径“ 另存
②退出(quit)
输入:“q“ 退出文件
③保存并退出
输入:“wq“ 保存并退出
④强制(!)
输入“:q!“ 表示强制退出,刚才做的修改操作不保存
⑤调用外部命令(了解)
输入”:!外部命令”
例如:
⑥搜索/查找
输入:“/关键词“
例如:在passwd文件中搜索“sbin”关键词
如果取消高亮,则需要输入:“nohl”
⑦替换
:s/搜索关键词/新的内容 替换光标所在行的第一处符合条件的内容
:s/搜索关键词/新的内容/g 替换光标所在行的全部符合条件的内容
:%s/搜索的关键词/新的内容 替换整个文档中每行的第一个符合条件的内容
:%s/搜索的关键词/新的内容/g 替换整个文档中全部符合条件的内容
%:表示整个文件
g:表示golobe
⑧显示行号
输入:“:set nu”
如光想取消显示,则输入:“set nonu”
⑨扩展2:
使用vim打开多个打开文件,在末行模式下进行切换:
查看当前已经打开的文件的名称:“files“
%a:表示正在打开的文件
#:表示上一个打开的文件
切换文件的方式:
a.如果需要指定切换文件的名称,则可以输入:“open group(已经打开的文件名)“
b.可以通过其它命令来切换上一个文件/下一个文件
输入:“:bn“切换到下一个文件(back next)
输入:“:bp”切换到上一个文件(back previous)
六、编辑模式
进入方式:
i:在光标所在字符前开始插入
a:在光标所在字符后开始插入
s:删除所在行并开始插入
退出方式:按下esc
七、实用功能
1、代码着色
案例:首先创建一个hello.c
显示:syntax on
关闭:syntax off
2、vim中计算器的使用
当在编辑文件时突然需要使用计算器去计算一些公式,则需要使用计算器,但是需要退出,vim自身集成了一个简易的计算器
a.进入编辑模式
b.按下按键“CTRL+R“,然后输入”=“,此时光标会变到最后一行
c.输入需要计算的内容,按下回车
八、扩展(3)
1、vim的配置(重点)
Vim是一款编辑器,编辑器也是有配置文件的
Vim配置有三种情况:
a.在文件打开的时候在末行模式下输入的配置(临时的)
b.个人配置文件(~/.vimrc,如果没有可以自行新建)
c.全局配值文件(vim自带,/etc/vimrc)
①新建好个人配置文件之后进入编辑 touch
②在配置文件中进入编辑
比如显示行号:set nu
配置好后vim打开文件就会永远显示行号
问题:如果某个配置项,在个人配置文件与全局配置文件产生冲突的时候应该以谁为准
结论:如果针对同一配置项,个人配置文件中存在,则以个人配置文件为准,如果个人配置文件不存在这一项,则以全局配置文件为准。
2、异常退出
解决办法:将交换文件(在编辑过程中产生的临时文件)删除即可
rm -f .passwd.swp
3、别名机制(实用)
作用:相当于创建一些属于自己的自定义命令
例如:Windows下的cls命令,在Linux下因为没有这个命令而不习惯清屏。现在可以通过别名机制来解决这个问题,可以自己创造出cls命令
别名机制依靠一个别名映射文件:~/.bashrc
Vim ~/.bashrc
注意:如果想让创造的命令生效,必须要重新登陆当前用户。
4、退出方式
回顾:之前退出编辑文件可以使用“:q“或者”:wq“。
除了上面的语法之外,vim还支持另外一个保存方法” :x”
说明:
①“:x“在文件没有修改的情况下,表示直接退出,在文件修改的情况下表示保存并推出;
②如果文件没有被修改,但是使用了wq进行退出的话,则文件的修改时间会被更新;但是如果文件没有被修改,使用x进行退出的话,则文件修改时间不会被更新;主要会混淆用户对文件的修改时间的认定。
因此建议以后使用“:x“来进行对文件的保存退出。
但是:不要使用X;不要使用X;不要使用X