【Linux】vim

大家好,我是苏貝,本篇博客带大家了解Linux的编辑器vim,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
在这里插入图片描述


1. vim的基本概念

Vim是一款多模式的编译器,这里我们只了解命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode)

插入模式:编辑模式
命令模式:允许使用者通过命令来进行文本的编辑控制
底行模式:用来让vim进行包括但不限于shell进行交互的


2. 3种模式的转换

在这里插入图片描述

输入vim及文件名称后,就进入vim全屏幕编辑画面:

在这里插入图片描述
在这里插入图片描述

刚开始打开时,暂时无法正常输入,因为此时是处于[命令模式],要切换到[插入模式]才能够输入文字

按字母i(大小写都可)从命令模式进入插入模式。此时屏幕的左下角会有insert标志
在这里插入图片描述

按esc退出插入模式,返回到命令模式。从命令模式到底行模式,需要按shift+;即英文的冒号 : 。此时屏幕左下角也会出现冒号
在这里插入图片描述

再按wq就可以从底行模式退出vim
在这里插入图片描述

我们可以实现命令模式和插入模式的转换,命令模式和底行模式的转换,那么能否直接实现插入模式和底行模式的转换呢?答案是不行的


3. 模式细节

A. 命令模式

在这里插入图片描述

B. 底行模式

在这里插入图片描述


4. 注释和去注释

在这里插入图片描述


5. 解决遗留问题:sudo提权

普通用户无法进行sudo提权
在这里插入图片描述

解决问题:
上面的报错提示说:zkj不在sudoers文件中,所以我们现在就要将zkj添加到sudoers文件中。Sudoers文件在/etc下。
提供下图,我们可以看到,普通用户即sudoers文件的other角色,是没有写权限的,只有root才能写文件
在这里插入图片描述

我们登录root账号来进入该文件
在这里插入图片描述

进入该文件后,我们找到第100行前后,在这里我们能看到下图
在这里插入图片描述

在命令模式下,先对100或101行yy,再p一下,然后按shift+i再进入插入模式,将用户名改为zkj。最后按esc退回到命令模式,按shift+;=:进入底行模式下,再wq保存并提出
在这里插入图片描述

按wq退出时,会报错,别慌,只需要将wq改成 wq! 即可
在这里插入图片描述

将zkj写入sudoers文件后,再用sudo就能正常使用了
在这里插入图片描述


6. vim的配置问题

原理:vim不是简单直接执行可执行程序就行,也会读取若干配置文件,配置文件位于用户的家目录中,文件名为 . vimrc。如果存在该文件,执行vim时就会读取. Vimrc文件,如果不存在则不读取。在网上能找到许多常用配置选项,这里就不多赘述了。下面讲如何一键式配置vim

一键式配置:在gitee上搜索VimForCpp,进入
在这里插入图片描述

往下翻,直到看到安装方法,复制红色框内的字符串到linux中
在这里插入图片描述

再输入root的密码即可一键式配置,接下来就只需要等几分钟就好了
在这里插入图片描述

安装成功后重新启动terminal,vim filename之后,进入插入模式
在这里插入图片描述


好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 15:50:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 15:50:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 15:50:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 15:50:05       20 阅读

热门阅读

  1. 蓝牙notify和indicate消息区别

    2024-04-10 15:50:05       14 阅读
  2. Unity之C#面试题(一)

    2024-04-10 15:50:05       13 阅读
  3. gin+sse实现离散的消息通知

    2024-04-10 15:50:05       16 阅读
  4. 安装 FFmpeg

    2024-04-10 15:50:05       11 阅读
  5. this::onCheckedChanged

    2024-04-10 15:50:05       13 阅读
  6. spring test配合junit4 实现单元测试

    2024-04-10 15:50:05       15 阅读
  7. 【springboot】项目启动时打印全部接口方法

    2024-04-10 15:50:05       15 阅读
  8. SAP-QM-UD自动完成

    2024-04-10 15:50:05       13 阅读
  9. docker基于alpine制作arm架构下的jdk8的镜像

    2024-04-10 15:50:05       13 阅读