0


Linux(vim基本教程)

vim

🌴vim的概念

vim的前身是vi,vim是vi的升级版本,vim兼容vi中大多数指令集,并且vim还有一些新的特性在里面。
例如:语法高亮,可以在多种操作系统下运行的编辑器。

vi和vim是多模式编辑器,在这里主要介绍vim。
vim就是单纯的编辑器,它功能强大在于它多模式下方便我们更好的编写代码。

vim模式有12种之多,常见的模式差不多有五种,分别是:命令模式、插入模式、底行模式、替换模式、视图模式
其中前三种模式是我们最常使用的,也是接下来重点介绍。

  1. 命令模式

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  1. 插入模式

该模式是我们后面用的最频繁的编辑模式,只有在Insert mode下,才可以对文本进行任意文字输入编辑。

  1. 底行模式

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作,该模式下输入:

help vim-modes

查看vim的所有模式

在使用vim前当然要检查你的Linux中是否下载了vim。

在Linux命令行输入vim,映入眼帘是下面这样子的话证明我们是安装了vim的
在这里插入图片描述
想要退出输入

:q

即可

若是没有进入这个界面,说明vim没有安装,我们需要在Linux中手动下载vim

 yum -y install vim*

🌴用vim创建文件

通常情况下,我们是先在当前目录下用

touch

命令先创建一个文件,然后再用编辑器打开这个文件进行编辑文本。

有了vim之后,可以不用提前创建一个文件,当前目录下若是没有这个文件,vim后面直接加这个文件名称,视为创建该文件

例如:我们要创建一个Test.cpp的文件,我们可以直接在Linux当前目录命令行输入下面操作:

vim Test.cpp

这样的方式可以省略

touch

创建文件步骤,但是这样的方式创建也是直接用vim打开了该文件,在里面我们没有编写内容的话,直接退出vim,该文件不会得到保存。

🌴vim不同模式下的操作

万事具备,我们终于可以编辑代码了,但是我们进入vim后,在键盘中输入想要的内容时却在屏幕面前没有任何反应。

脑袋不由浮出大大问号???我们便开始了胡乱输入…

混乱的输入,按倒莫名的字母后在屏幕中又有了字符输入的结果,这是为什么呢?

接下来就一一道来:

🌳vim模式转换

用vim打开一个文件时,默认所处的模式就是命令模式。该模式下,我们只有输入特定的指令集,才能在屏幕中有所反馈。

🌲命令模式切换至插入模式

上面说到我们胡乱输入后,按到某个字符可以进行编写,这是因为我们在命令模式下进入到了插入模式。
命令模式进入插入模式有三种方法:在命令模式下直接输入字母

a、o、i / A、O、I
  1. 按「 i / I 」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
  2. 按「a / A」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
  3. 按「o / O」进入插入模式后,是插入新的一行,从行首开始输入文字

怎么判断自己是否进入插入模式呢?

在vim中的左下方看到如图,INSERT即是进入了插入模式在这里插入图片描述

插入模式退回命令模式输入

Esc

键即可。

🌲命令模式切换至底行模式

上面还提到了底行模式,在vim中插入模式下我们是不能进入底行模式的,我们得先退回命令模式才能进入底行模式。
那么怎么在命令模式下进入底行模式呢?

在命令模式下键盘输入:

shift + ;

其实就是冒号

[ : ]

;即是进入底行模式

判断是否进入底行模式依据就是:在vim中的左下角是否有冒号等待用户输入标志

这也就引出了三种模式下的关系:
在这里插入图片描述

vim中的模式很多,当使用者不知道当前所处的模式是处于一种什么样的状态,万能的

Esc

键,可以将使用者带回命令模式,该模式也可以认为其他任意模式的入口。

🌳命令模式下的指令集

声明:n是指在输入指令集前要输入的数字

🌲光标移动

在命令模式下,对光标进行上下左右移动,这里指代都是小写:上移

k

,下移

j

,左移

h

,右移

l

,都是移动一格。
当然我们也可以使用键盘右侧的上下左右,但是键盘离手就慢了,字母移动的光标可能对我们操作更加方便。

其他方式的光标移动

按 [shift+g],也就是「G」:移动到文章的最后
按 [n shift+g ], 也就是「nG」:[ 100G ]表示光标移动到文章的第100行
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按[gg]:进入到文本开头

🌲删除文字

命令模式下常见的删除方式

「x」:每按一次,删除光标所在位置的一个字符
「nx」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「nX」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行
「ndd」:从光标所在行开始删除#行

🌲复制粘贴

命令模式下的复制粘贴

「yy」:复制光标所在行到缓冲区。
「nyy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「dd」:剪切光标所在的行到缓冲区,若是不进行粘贴,该指令集的作用就相当于删除改行
「ndd」:例如,「10dd」表示剪切从光标所在的该行“往下数”10行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

🌲其他操作

命令模式下光标所在字符替换

「r」:替换光标所在处的字符。
「nr」:替换光标所在位置乃至后面n个字母
[shift + r] 也就是「R」:替换光标所到之处的字符,直到按下「ESC」键为止 (这个操作也被称为进入替换模式)
[shift + `] 也就是「~」:在光标所在处的字母转换成对应大小写字母(大写字母变成小写字母,小写字母变成大写字母)

命令模式下撤销操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。
「ctrl + r」: 撤销的恢复(撤销的撤销)
注意:在没有退出vim的时候不管是否保存,撤销都是有用的。若是退出了vim,再次进入vim进行撤销操作无效

🌳底行模式下的指令集

🌲保存并退出vim

vim我们会基本操作了,但是内容写完后怎么退出vim呢?

其他模式下不能退出vim,只有底行模式下我们才可以退出vim编辑器。

当我们在命令模式下进行

shift + ;

进入底行模式后,输入以下指令:

: w (保存当前文件)
: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)
: wq!(输入wq!,强行写入保存并退出)

🌲进行多文本编辑

在VS2019或是VS2022中,我们创建的项目工程可以进行多个源文件或是头文件进行编辑。

那么在vim中能否实现相同操作呢?答案是可以的。

进入底行模式

shift + ;

,输入

vs

后面加想要打开的文件名称

在这里插入图片描述

注意:

vs

后跟的文件名在该目录下不存在,vim会默认帮你创建该文件,该文件若是没有进行内容编写保存,文件会销毁

如果你的电脑屏幕足够大,可以创建多个文件进行编辑。

在vim进行多个文件编辑的时候,底行模式退回命令模式输入

Ctrl + ww

可以进行文件之间进行切换,通过光标所在的位置来判断你所在文件的位置。

保存退出的时候,退出的是光标所在的文件,并不会说一下子退出vim,直到退出最后一个文件才会真正退出vim

🌲搜索相关字符关键字

在vim中支持查找功能,进入底行模式

shift+;

,输入

/

,再输入你想寻找的字符(

/

后面不需要空格直接加字符)

回车后,光标不会直接到第一个字符关键字所在处,会出现在原本输入搜索指令前的当前位置的下一行

vim会将文本中所有关于该字符关键字都用敞亮的语法显示出来
在这里插入图片描述

将字符关键字搜索到了后,如何将光标在关键字中进行切换呢?

**接下来我们直接在键盘输入

n

即可向下切换字符关键字,一直往下找的过程总得有个底,到最后一个关键字我们再输入

n

会直接到开头第一个关键字**

可以往下找文本字符关键字,那么是否可以往回找呢?例如

n

输入的太快,一不小心略过了,就很闹心

底行模式

shift+;

,输入

?

,后面接字符关键字,这个方法跟上面输入的

/

用法一样,但是体现的效果不一样

回车后,光标不会直接到最后一个字符关键字所在处,会出现在原本输入搜索指令前的当前位置的上一行

相关关键字也会用敞亮的语法显示出来

在这里插入图片描述

**此时,我们输入

n

会发现光标会往上查找关键字,当然到了第一个关键字后,我们再输入

n

会直接到文章最后一个字符关键字中**

🌲批量化修改字符内容

就上面的例子

在这里插入图片描述

假设我想将printf函数内部的字符hello world全部都修改成hello Linux,一行一行的修改真的让人头大。

就想到有没有一种方式可以将world直接修改成Linux大大减少繁杂的工作量。

进入底行模式

shift+;

我们输入

:%s/world/Linux/g

在这里插入图片描述
回车即可完成修改。

在这里输入指令需要注意的是:

%s///g

第一个

/

后面输入的是想要修改的字符,第二个

/

后面输入的是新的字符

🌴vim配置

我们刚下载好的vim就是一个普普通通的文本编辑器,给我们提供基本操作只有的文本编辑、代码编写等等;

vim自身虽然有多种模式可以给我们操作指令集方便我们进行编写,但是编写代码过程中vim是不带有语法或是语言识别的,在进行文本编写还是不够方便的。

例如:缩进、行号显示、语法高亮基本设置都没有

我们可以将vim配置成专属私人的专属编辑器。在进行vim配置的时候,我们得了解两个问题:

  1. 在哪里进行vim配置?
  2. 配置的vim是所有用户都可以用?还是单个用户设置单个用户自己使用?

🌳vim配置文件的位置

若是个人在配置自己vim的时候,需要在当前用户的主目录下

touch

创建一个名字为

.vimrc

的文件。

.vimrc

这个文件下配置vim,只适用于当前用户,其他用户vim是不会有所改变的

想要所有用户都能使用到同一个vim配置模板的话,我们需要在

/etc

目录下找到名字为

vimrc

文件,进行配置。

/etc

下的

vimrc

是系统中公共的vim配置文件,对该文件进行配置的vim是对所有用户都能生效

在了解了在哪里可以进行vim配置的时候,不妨上手试试设置一些简单的vim基础设置
当然在设置的时候需要在插入模式下进行

  1. 设置语法高亮:syntax on
  2. 显示行号:set nu
  3. 设置缩进的空格数为4:set shiftwidth=4
  4. 自动缩进:set autoindent
  5. 在右下角显示光标位置的状态行:set ruler

vim的基本操作就讲到这里了,感谢大家支持!!!!!

标签: vim linux 编辑器

本文转载自: https://blog.csdn.net/weixin_57663528/article/details/128574192
版权归原作者 深夜吞食 所有, 如有侵权,请联系我们删除。

“Linux(vim基本教程)”的评论:

还没有评论