【Linux】Vim

发布于:2024-05-08 ⋅ 阅读:(31) ⋅ 点赞:(0)
图片名称
🎉博主首页: 有趣的中国人

🎉专栏首页: Linux


在这里插入图片描述

小伙伴们大家好,本片文章将会讲解Linux编辑器——Vim使用的相关内容。


如果看到最后您觉得这篇文章写得不错,有所收获,麻烦点赞👍、收藏🌟、留下评论📝,并关注💖作者。您的支持是我最大的动力,让我们一起努力,共同成长!


Vim的基本概念和相关操作


Vim的设计目标是提供强大的编辑功能,同时保持简洁和高效。它有着丰富的功能,包括语法高亮、自动补全、宏录制、分屏编辑等等Vim有一个强大的插件系统,可以通过插件扩展其功能,使其适应各种开发环境和编程语言


👨‍💻Vim的模式

Vim有好多种模式,但是我将主要讲解三种模式,这三种模式最基础,也最重要,分别是:

  1. 命令模式(command mode)
  2. 插入模式(insert mode)
  3. 底行模式(last line mode)

💻命令模式

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

命令模式下相关操作:

用命令vim [文件名称]即可进入到vim编辑器,进入Vim时默认处于的模式就是命令模式

有关复制粘贴的行相关操作

「(n) + yy」复制当前行(n:连续复制n行,可省略,默认一行)

「(n) + p」粘贴当前光标的下一行(n:表示粘贴n次,可省略,默认一行)

「u」撤销

「ctrl + r」反撤销(对你的撤销进行撤销)

「(n) + dd」剪切/删除指定行,(n:表示剪切/删除n行,可省略,默认一行)

有关光标移动的相关操作

「shift + 4 = $」将光标移动至此行末尾

「shift + 6 = ^」将光标移动至此行开头

「gg」将光标移动至整个文本的最开头

「shift + g = G」将光标移动至整个文本的最后一行

「n + shift + g = nG」将光标移动至文本的指定行

「(n) + h」将光标向左移动(n可以指定移动步数,下面类似)

「(n) + j」将光标向下移动(可以类比记忆:jump向下跳)

「(n) + k」将光标向上移动(可以类比记忆:king国王)

「(n) + l」将光标向右移动

「w」按单词为单位将光标后移

「b」按单词为单位将光标前移

其他相关操作

「~」:大小写的切换

「(n) + x」对光标位置后的元素进行删除(n表示可以连续删除多个,行内)

「(n) + shift + x = nX」对光标位置前的元素进行删除(n表示可以连续删除多个,行内)

「shift + r = R」:进入替换模式,可以对光标当前位置的字符进行替换

「shift + zz = ZZ」:保存并退出(一般不这么用)

进入到其他模式下的相关操作

进入插入模式

「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
「o」进入插入模式后,是插入新的一行从行首开始输入文字

进入底行模式

「shift + ; = :」进入底行模式

💻底行模式

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+; = : 即可进入该模式。

底行模式下相关操作:

离开vim的相关操作

「w」:在冒号输入字母「w」就可以将文件保存起来

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim

「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件

查找字符

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」往后寻找到您要的关键字为止

行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号

「nonu」: 输入「nonu」后,会去掉行号

Shell命令执行

「!command」:可以不退出vim,进行Shell命令的执行,例如用man来查看函数的用法,例如查看qsort的相关用法:
在这里插入图片描述
在这里插入图片描述

分屏操作

我们正常写一个项目时要进行声明和定义的分离,即可能存在头文件,我们用命令「vs filename」即可实现分屏,可以使用以下命令在分屏模式下进行切换

  • 切换到下一个窗口Ctrl + w,然后按下 w
  • 切换到上一个窗口Ctrl + w,然后按下 W

    例如:
    在这里插入图片描述
底行模式进入命令模式

从底行模式进入命令模式就按下Esc即可。

插入模式进入命令模式也是按下Esc即可。

底行模式不能直接进入插入模式,插入模式也不能直接进入底行模式,只能通过命令模式这个中转站然后再进行模式的相互切换。

💻总结


在这里插入图片描述

批量化注释和去注释


👨‍💻批量化注释操作

  1. 「ctrl + v」进入视图模式;
  2. 「h j k l」进行区域的选择;
  3. 「shift + i」
  4. 在输入//
  5. 最后按两次Esc即可完成批量化注释。

在这里插入图片描述

👨‍💻批量化去注释操作

  1. 「ctrl + v」进入视图模式;
  2. 「h j k l」进行区域的选择(仅包含//);
  3. 按住d即可完成去注释的操作。

在这里插入图片描述

普通用户的sudo提权


对于普通用户,没有权利进行sudo的提权,因为对于一个用户能否进入sudo提权,他是否有这个权限,是存在拥有者是root的一个文件中的,这个文件时 /etc/sudoers,如果想给普通用户有sudo的提权权力,要在这个文件中添加普通用户,因此也是需要root来进行操作的,所以这就是为什么sudo提权的时候只需要输入普通用户的密码即可。

💻输入命令 vim /etc/sudoers 进入 sudoers 文件


在100行附近的如图位置,添加普通用户的权限即可。

在这里插入图片描述

注意这里修改后要强制退出wq!

在这里插入图片描述
就完成了

在这里插入图片描述

vim的配置问题


💻vim配置原理

在每次启动vim之前,vim都会读取若干的配置文件,例如.vmrc


我们可以在这个配置文件中添加相关的配置,例如 自动缩进,显示行号,那么在每次启动vim的时候都会读取此配置文件,就在你的vim中显示出来了。

💻查看.vmrc文件

因为此文件是 隐藏文件,所以用命令ls -al 查看:


在这里插入图片描述

因为我这里已经配置好了,就不进行配置了。

也可以用比特的开源项目进行一键配置,这是链接: 比特VimForCpp配置Vim


注意一定要在普通用户下进行配置,并且一定要是centos7.X的系统。

输入命令,即可一键配置(可以先看文档):

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh && bash ./install.sh

有关vim的异常退出


当Vim异常退出时,通常会生成一个称为“.swp”文件的隐藏文件。这个文件是Vim的会话恢复文件,用于存储你正在编辑的文件的临时状态。它包含了你最后一次编辑的内容,以便在下次启动Vim时恢复编辑会话。


这个“.swp”文件通常以以下格式命名:“.filename.swp”,其中“filename”是你正在编辑的文件的名称。


如果Vim异常退出,你可以尝试重新启动Vim,并在同一目录下查找以“.swp”结尾的文件,然后使用Vim的恢复功能来恢复丢失的编辑内容。

在这里插入图片描述

你可以删除这个文件(.swp结尾),他就不会提示了,也可以E继续编辑,R恢复,Q退出。
但是删除之后你没保存的内容就会消失,也就是说.swp这个文件相当于是系统给你临时备份的一份,如果你想恢复文件,按照以下操作即可:

  1. vim filename.c
  2. 按R或者E恢复或者继续编辑
  3. :wq保存并退出;
  4. 删除.swp结尾的临时文件

网站公告

今日签到

点亮在社区的每一天
去签到