作者:永不落的梦想

作者主页:传送

座右铭:过去属于死神,未来属于自己

本文专栏:Liunx篇      神器使用篇

今日鸡汤:当你想要放弃的时候想想当初为什么坚持到这里

目录

一、vi和vim介绍

二、vim的三种模式

1.三种模式

2.vim的进入和退出

三、vim模式切换

1.切换到命令模式

2.切换到末行模式

3.切换到编辑模式

四、命令模式

1.光标移动

2.复制与粘贴

3.剪切/删除

4.撤销与恢复

五、末行模式

1.保存

2.退出

3.调用外部命令

4.搜索/查找

5.替换

6.显示行号

7.切换文件

六、编辑模式

七、vim功能模块

1.代码着色

2.简易计算器

八、补充内容

1.vim的配置

2.异常退出

3.新建别名

4.退出方式

一、vi和vim介绍

二、vim的三种模式(重点)

1.三种模式

命令模式:不能对文件直接编辑,只能通过快捷键进行一些操作(如移动光标、复制、粘贴等),打开vim后默认进入命令模式;

末行模式:可在末行输入一些命令对文件进行操作(如搜索、替换、保存、退出、高亮等);

编辑模式:可对文件内容进行编辑;

2.vim的进入和退出

进入:

语法1:vim 文件路径        //直接打开指定文件(光标位于首行或上次关闭文件时光标的所在行)

语法2:vim +数字 文件路径      //打开指定文件并将光标移动到指定行(数字对应的行数)

语法3:vim +/关键词 文件路径    //打开指定文件并高亮显示关键词

语法4:vim 文件路径1 文件路径2 文件路径3     //可同时打开多个文件,文件之间可切换操作

退出:

语法::q           //键盘输入英文:号进入末行模式,输入字母q再回车

三、vim模式切换(重点)

1.切换到命令模式

        用vim指令打开文件时默认为命令模式;

        按一下键盘ESC键可从编辑模式切换到命令模式;

        按一下或连按两下ESC键或用键盘删除末行模式下的英文符号:可从末行模式切换到命令模式

2.切换到末行模式

        命令模式下键盘输入英文符号:可切换到末行模式;

3.切换到编辑模式

        命令模式下键盘输入字母i或a(还有其他字母也可以这两个比较常用)可切换到编辑模式以编辑

注意:vim刚打开文件时默认为命令模式,命令模式可切换到末行模式或编辑模式,但末行模式与编辑模式之间不能直接相互切换;

四、命令模式

1.光标移动

语法1:^         //键盘输入符号^,光标移动到光标所在行的行首

语法2:$        //键盘输入符号$,光标移动到光标所在行的行尾

语法3:gg      //键盘输入字母gg,光标移动到文件的首行

 上图中,当输入一个g时不是正确语法在右下角可以看到输入的内容g,当输入两个g时立刻会执行命令,这里不便演示,只需按语法输入命令即可执行

语法4:G        //键盘输入字母G,光标移动到文件的尾行

语法5:ctrl+b       //键盘ctrl+b,向上翻屏(前提是文件内容足够翻屏)

语法6:ctrl+f        //键盘ctrl+f,向下翻屏

语法7:数字G    //键盘输入数字+字母G,光标移动到指定行(数字对应的行数)

语法8:数字+键盘方向键上/下    //键盘输入数字+键盘方向键上/下,光标以光标所在行为准向上/下移动指定行(对应的数字)

语法9:数字+键盘方向键左/右    //键盘输入数字+键盘方向键左/右,光标以光标所在位置为准向左/右移动指定个字符(对应的数字)

语法10::数字      //键盘输入英文符号:+数字再回车,光标移动到指定行(属于末行模式)

2.复制与粘贴

语法1:yy         //键盘输入字母yy,复制光标所在行

语法2:数字yy       //键盘输入数字+字母yy,从光标所在行开始向下复制指定行(数字对应的行数,包括了光标所在行)

语法3:ctrl+v      //键盘ctrl+v进入可视化复制,用键盘的方向键控制复制区域,然后键盘输入字母yy即可完成复制

 上图中,进入可视化复制后可用键盘方向键控制复制区域,选中区域后输入yy即可完成复制,右下角的3*6表示当前复制区域的大小,17,4表示光标的当前位置是第17行第4个字符

粘贴语法:p       //键盘输入字母p即可在光标处粘贴复制的内容

3.剪切/删除

语法1:dd      //键盘输入字母dd,剪切光标所在行,光标所在行的下面行会上移填补剪切行

语法2:数字dd     //键盘输入数字+字母dd,从光标所在行起向下剪切指定行(数字对应的行数,包括了光标所在行),后面行会上移填补剪切部分

语法3:D          //键盘输入字母D,剪切光标所在行但后面行不会上移填补剪切行,剪切行变空

删除语法:删除即剪切后不复制,删除操作使用剪切语法

4.撤销与恢复

撤销语法::u       //键盘输入符号:和字母u再回车(属于末行模式),撤销上一步操作

恢复语法:ctrl+r    //键盘ctrl+r,恢复撤销操作(即取消之前的撤销操作)

五、末行模式

1.保存

语法1::w        //键盘输入英文符号:+字母w再回车,保存当前文件

语法2::w 文件路径      //键盘输入英文符号:+字母w+空格+文件路径再回车,另存为指定文件

2.退出

语法1::q      //键盘输入英文符号:+字母q再回车,退出当前文件

语法2::wq      //键盘输入英文符号:+字母wq再回车,保存当前文件并退出

语法3::q!    //键盘输入英文符号:+字母q+英文符号!再回车,不保存对文件的修改并退出

3.调用外部命令

语法::q外部命令   //键盘输入英文符号:+字母q+外部命令再回车,外部命令如 ls 命令等,不退出文件的同时执行外部命令,执行后按任意键可以切换回文件

4.搜索/查找

语法1::/关键词      //键盘输入英文符号:+/+关键词再回车,按关键词查找,查找到的内容会被高亮显示

语法2:N/n     //键盘输入字母N/n,光标移动到上/下一个查找到的内容(属于命令模式)

语法3::nohl     //键盘输入英文符号:+字母nohl再回车,取消查找到的内容的高亮显示,若不取消内容会一直高亮显示

5.替换

语法1::s/搜索的内容/新内容        //用新内容替换光标所在行第一处被搜索到的内容

语法2::s/搜索的内容/新内容/g        //用新内容替换光标所在行全部被搜索到的内容

语法3::%s/搜索的内容/新内容        //用新内容替换整个文件每一行第一处被搜索到的内容

语法4::%s/搜索的内容/新内容/g        //用新内容替换整个文件全部被搜索到的内容

6.显示行号

语法1::set nu     //键盘输入英文符号:+字母set+空格+字母nu再回车,显示文件每行的行号,显示行号是暂时的下次打开该文件不会再显示

语法2::set nonu    //键盘输入英文符号:+字母set+空格+字母nonu再回车,取消行号显示

7.切换文件

语法1::files     //键盘输入英文符号:+字母files再回车,查看同时打开的所有文件的名称

上图中,%a表示它对应的文件是当前操作的文件,#表示它对应的文件是上一个操作的文件,行数处显示第0行表示从未切换到它对应的文件进行操作

语法2::open 文件名       //键盘输入英文符号:+字母open+空格+文件名再回车,切换到其他打开的文件进行操作

语法3::bn      //键盘输入英文符号:+字母bn再回车,切换到下一个打开的文件

语法4::bp      //键盘输入英文符号:+字母bn再回车,切换到上一个操作的文件

注意:每执行完一次末行模式下的命令之后,都会自动退回到命令模式,因此每次执行末行模式下的命令都需要先键盘输入英文符号:后再输入命令

六、编辑模式

命令模式下键盘输入以下字母可进入编辑模式进行对应的操作:

i在光标所在字符前开始插入a在光标所在字符前开始插入o在光标所在行的下面另起一行开始插入I在光标所在行的行首开始插入,若行首有空格则在空格后插入A在光标所在行的行尾开始插入O在光标所在行的上面另起一行开始插入S删除光标所在行并开始插入

        按照以上不同的方式进入编辑模式后,正常使用键盘进行增删改即可,重点掌握前两种方式,退出编辑模式键盘按ESC键;

七、vim功能模块

1.代码着色

语法1::syntax on      //键盘输入英文符号:+字母syntax+空格+on,开启代码着色,默认是开启的

语法2::syntax off      //键盘输入英文符号:+字母syntax+空格+off,关闭代码着色(该操作是暂时的)

2.简易计算器

        当编辑文件中需要用计算器计算时,不需要退出文件,可以使用vim的简易计算器完成计算;

使用方法:

        在编辑模式下键盘ctrl+r,然后键盘输入符号=,光标就会移动到末行,键盘输入计算格式后回车,计算结果就会出现在原光标位置处;

八、补充内容

1.vim的配置(重点)

常用配置:

        syntax on/off        //开启/关闭代码着色

        set nu/nonu         //显示/不显示行号

配置分类:

        临时配置:在末行模式下输入配置,此配置是暂时的,下次打开文件时不会生效;

        个人配置:个人配置文件路径是~/.vimrc,即当前用户家目录下的隐藏文件.vimrc,此配置只对当前用户永久生效,若不存在.vimrc文件可自行创建编辑加入vim配置;

        全局配置:全局配置文件路径是/etc/vim/vimrc,不同版本目录路径可能有点差异,此配置对所有用户永久生效,可编辑全局配置文件加入vim配置;

注意:对于同一配置项,当个人配置存在此配置项时遵循个人配置,否则遵循全局配置;

2.异常退出

        编辑中的文件未保存直接退出(按终端右上角的叉或断电等),这就是异常退出;异常退出会产生一个隐藏的交换文件(.文件名.swp,编辑中产生的临时文件,可以指令ls -a查看),并且在下一次打开该异常退出的文件时会报错,将交换文件删除即可正常打开;

3.别名机制(非常有趣)

        依靠一个别名映射文件(路径时~/.bashrc)来执行自己创建的指令,这就是别名机制;在映射文件中按特定格式加入自己的指令即可执行自己创建的指令;

上图中, vim打开.baserc文件,找到上图内容处可按格式加入自己创建的指令,如最后一行是我加的,即haha指令将等效于clear指令(笑两下就可以清屏了,不过我的失败了,好像是添加的位置不对);

注意:加入自己的指令后需要重启才能生效;

4.退出方式

语法::x        //文件未被修改直接退出,文件被修改过保存并退出

:x和:wq的区别:

        使用:wq,文件的修改时间一定会改变;

        而使用:x,在文件未被修改的情况下,并不会改变文件的修改时间;

建议:使用:x代替:q和:wq,更加简便的同时不会在未修改文件的情况下改变文件的修改时间

查看原文