Linux入门教程:P4->Vim编辑器

本文详细介绍了Linux中的Vim编辑器,包括其三种模式(普通模式、编辑模式和命令模式)的切换和使用。在普通模式下,可以进行光标移动、复制粘贴和删除操作;进入编辑模式则可以插入内容;命令模式用于保存、退出和其他高级操作。此外,还提到了Vim与Emacs的区别,并展示了如何在命令模式下执行查找、替换等指令。
摘要由CSDN通过智能技术生成

本系列文章为尚硅谷武晟然老师的Linux入门教程学习笔记,前面的系列文章链接如下
Linux入门教程:P3->Linux文件系统


一、整体介绍和模式转换

图形化界面编辑文件

前面我们已经了解了Linux里的目录结构,而且我们知道了Linux里边一切皆文件,什么都可以看成是文件来进行管理。所以之后我们学习的过程当中要直接去操作文件,那一个文件怎么操作?这里我们先将root主目录下的一个cfg文件拷贝到桌面。
x在这里插入图片描述
然后我想要修改它的内容。我可以直接双击把它打开,然后想修改内容直接在里面敲就行了,最后和Windows一样直接ctrl+s保存。


使用文本编辑器的优点

然而桌面环境要占用系统资源,所以为了把性能做到极致,往往服务器是连桌面环境都不装的。那这样的话,在服务器端操作时,我们就需要到shell控制终端里面去进行文档操作。大家可能会觉得到这个文档里边去之后,连文档的界面都没有,该怎样去操作呢?这就需要我们至少得掌握一种在shell里边进行文本编辑的方法,也就是说我们需要熟悉一种文本编辑器。


Vi/Vim编辑器

①Vi是Unix操作系统和类Unix操作系统中最通用的文本编辑
②Vim编辑器是从Vi发展出来的一个性能更强大的文本编辑器。可以主动的以字体颜色辨别语法的正确性,方便程序设计。Vim与Vi编辑器完全兼容。
③Vi和Vim其实就是用控制台模拟一个文本编辑窗口,然后可以在里面编辑文本。

Emacs与Vim

①Emacs,被称为神之编辑器。是由GNU开源项目倡导者理查德斯托曼用lisp语言写出来的一个解释器。所以emacs可以用来作文本编辑,但是它的功能可以扩展的非常强大,它可以管理文件系统,它可以直接去当成一个email的收发工具,它可以用来上网浏览器等等。可以说它的设计理念是all in one,就是在这样一个工具里边,你可以做任意自己想做的事情。但是它缺点就是体积太庞大了,启动非常缓慢。
②vim,被称为编辑器之神。由Linus创造,其实就是一个简版的emacs,叫做micro emacs。vim就作文本编辑,把文本编辑功能做到极致,速度很快。
③打开计算机的bin目录,可以找到Vi和Vim,所以系统相当于给我们提供了两个工具。
在这里插入图片描述


Vi与Vim的区别

①使用vi + 文件名打开这个cfg文件。这就是纯粹的白底黑字,非常简略。
在这里插入图片描述
②使用vim + 文件名打开这个cfg文件。不同的字符有不同颜色显示。
在这里插入图片描述
右下角是光标的位置
在这里插入图片描述
这里我们无法直接编辑,这是因为我们处于普通模式。当我们需要进行内容修改时,需要进入编辑模式(插入模式)。还有一个比较特殊的模式叫做命令模式,主要就是在一般模式下可以打一个冒号或者打一个斜杠,然后去进行一些命令操作。


模式切换

三种模式切换方式如下
在这里插入图片描述
编辑模式:
在这里插入图片描述
如果我们修改了一些内容,需要先退出到普通模式,然后进入命令模式去保存。我们输入:+w进行保存,w就是write写入。从计算机底层处理的角度来看,这个操作其实相当于把我们更改的这些操作(本来是应该放在一个缓冲区),现在要把缓冲区的内容真正写入硬盘。
在这里插入图片描述
如果我不想要这个更改的话,可以在普通模式下按一个u,于是直接就回退到之前了。
在这里插入图片描述
最后,如果想要退出回到之前的那个shell终端控制台,可以在命令模式下输入:+q


二、普通模式

普通模式的用途

用Vim打开一个文本就直接进入一般模式了(这是默认的模式)。在这个模式中,可以使用『上下左右』按键来移动光标,可以使用『删除字符』或『删除整行』来处理档案内容, 也可以使用『复制、粘贴』来处理文件数据。


复制粘贴

单行复制粘贴
按下yy可以复制光标所在行的内容,这里不会出现任何效果。
在这里插入图片描述
然后可以在某一行按下p进行粘贴
在这里插入图片描述
也可以直接使用数字+p,代表粘贴多少次。我这里按下5p,代表粘贴了5行。
在这里插入图片描述
多行复制粘贴
可以使用数字+yy,比如我们这里要复制8行,使用8yy
在这里插入图片描述
然后按p进行粘贴。
在这里插入图片描述


行的删除

①按dd就可以删除当前行。
在这里插入图片描述
数字+dd,删除包含当前行在内的下面几行。
在这里插入图片描述


行部分内容的复制粘贴

使用y+$,复制光标到当前行结束的所有内容。($在linux中代表结束)
在这里插入图片描述
使用y+^,复制当前行光标之前到光标的内容。(^在linux中代表开头)
在这里插入图片描述
使用y+w,w代表word,复制光标所在的单词。
在这里插入图片描述
如果光标不在单词首部,则只会复制光标到所在单词结束的那个空格之间的内容。
在这里插入图片描述


行部分内容的删除

使用d+w,删除光标所在单词(空格也要删除)。
在这里插入图片描述
如果光标不在单词首部,则只会删除光标到所在单词结束的那个空格。
在这里插入图片描述
类似于yy+$yy+^,也可以使用d+$d+^删除光标到行尾、行首的内容。


单个字符操作

①按x代表剪切光标所在的字符。
在这里插入图片描述
②大写的X可以类似于Windows一样退格删除
在这里插入图片描述
③按一个r,可以替换当前字符的内容
在这里插入图片描述
④按一个R,进入替换模式(类似于一种特殊的编辑模式),可以依次替换多个字符。这类似于Windows中的Insert模式。
在这里插入图片描述


光标移动

①^:移动到行头
②$:移动到行尾
⑥w:相后移动到单词的词尾
⑦b:向前移动到签个单词的词尾
③gg或H:移动到页头
④G或L:移动到页尾
⑤数字+G:移动到目标行
注:如果想移动到某一行但是不知道行号,则可以:set nu,显示行号。
在这里插入图片描述
如果想关闭行号,则:set nonu
在这里插入图片描述
总结:
在这里插入图片描述


三、编辑模式

前言

编辑模式下的操作跟Windows里面编辑文档的操作是完全一样,非常的简单。正常情况下,如果要能更加快速地编辑文档,比如说大段的复制粘贴和删除,最好就在普通模式搞定。在一般模式下,按下『i, I, o, O, a, A』中任何一个字母后就会进入编辑模式。按下这些按键时,在画面的左下方会出现『INSERT或REPLACE』的字样,此时才可以进行编辑。而如果要回到一般模式时, 则必须要按下『Esc』按键即可退出编辑模式。


进入编辑模式光标的位置

i,在当前光标前面插入内容
在这里插入图片描述
I,在光标所在行最前面插入内容
在这里插入图片描述
a,在当前光标后插入内容
在这里插入图片描述
A,在光标所在行的行尾插入内容
在这里插入图片描述
o,在当前光标行的下一行插入内容,同时下面那一行是新插入的
在这里插入图片描述
O,在当前光标行的上一行插入内容,同时上面那一行是新插入的
在这里插入图片描述


四、命令模式

命令模式

在一般模式中,输入:/ 就可以进入命令模式。在命令模式中, 可以提供搜寻、读取、存盘、大量取代数据的动作。同时,离开vi、显示行号等动作也是在此模式中达成。
----使用:进入命令模式时,就是完成一些功能
----使用/进入命令模式时,就是进行数据的查找


一些指令

:w 保存。当我们对文档内容进行修改后想要进行保存,则需要退出到指令模式,执行:w进行保存。
:q 退出。退出vim编辑器。
:! 强制执行。当我们修改了文档内容后,直接使用:q退出编辑器会报错。这时可以在后面加上!,即通过命令:q!强制退出,同时修改的内容不会被保存。
在这里插入图片描述
/要查找的词。当我们想要查找一个词在文档的位置时,可以使用这条命令,找到的结果会高亮出来。此时可以通过n移动到下一个查找到的词,可以通过N移动到上一个查找到的词。
在这里插入图片描述
:noh。如果我们想取消高亮显示,则可以使用这条指令,可以看出高亮的boot被取消了。
在这里插入图片描述
:set nu 显示行号
:set nonu 关闭行号
:%s/old/new/g 替换内容。/g代表替换匹配到的所有内容。


替换操作

:s/old/new。将查找到的第1个old替换成new。
在这里插入图片描述
:s/old/new/g。上面的指令只能替换掉一个,如果一行中有多个boot都把它们进行替换,就需要在后面加上’/g’。可以看出这一行的boot全部被替换成功。
在这里插入图片描述
:%s/old/new/g。将文档中匹配到的所有的内容都替换掉。
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

知初与修一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值