【Linux基础】Vim保姆级一键配置教程(手把手教你把Vim打造成高效率C++开发环境)
目录
一、前言
二、安装Vim
三、原始Vim编译器的缺陷分析
四、Vim配置
🥝预备知识----.vimrc 隐藏文件
🍋手动配置 Vim --- (不推荐)
🍇自动化一键配置 Vim --- (强烈推荐)
✨功能演示
五、共勉
一、前言
Vim作为当下最受欢迎的文本--编译器--之一,不仅具有强大的文本编辑功能,还提供了高度的可定制性。
但是原始的Vim的,只能满足键盘的简单输入,相比于VS编译器来说,它的使用相当麻烦:无法自动缩进,自动补全,用起来得一个字一个字的打,这还不如用word,至少还有个括号匹配。
虽然Vim提供了高度的可定制性,用户可以根据自己的喜好自定义配置,并且通过自己编写插件或者使用现有的插件来扩展Vim的功能。然而对于大部分初学者来说,花太多时间再Vim配置上,显然会劝退一大批人。
所有本次博客就来讲解一下如何一键配置Vim,完成高级的编译环境搭建。
二、安装Vim
在具体上手之前,我们总得下载好它吧。那么怎么查看自己是否已经下载好了 vim 呢?
- 其实很简单,我们只需在命名行输入——vim ,如果有以下界面,即表示已经安装好了。
- 那么此时很多下伙伴是不是就退不出来了呀在当前的页面,不要慌,当我们想退出当面页面也很简单,具体如下:
- 当我们输入没有弹出这个页面时,即表示当前的机器上并没有安装 vim ,此时我们需要对其进行操作(不知道各位小伙伴还知不知道安装的指令),具体指令如下:
sudo yum -y install vim //普通用户
yum -y install vim //超级用户
三、原始Vim编译器的缺陷分析
我们先用上面展示的
vim
编辑器写一段简单的展示代码:
可以看到,默认的Linux -- vim
编辑器 有 三大致命缺陷:
- 界面太过简单,可以说是简陋
- 编写程序时没有基本的自动缩进、高亮、自动补齐等许多
Windos
编译器都有的功能,使得用起来极度不方便 - 没有代码查错功能
由于这些缺陷,导致我们在写代码的时候效率大大下降,所有需要进行 --- Vim升级配置
四、Vim配置
🥝预备知识----.vimrc 隐藏文件
针对上述问题,Linux允许我们修改
vim
的配置信息,是其具有更加丰富的功能。而对vim
编辑器进行修改的信息,就会放在.vimrc
这个隐藏文件中。
- 在
root
账户中,.vimrc
这个隐藏文件默认就在root
账户的家目录下:
- 而在普通账户中,
.vimrc
文件不会被默认创建,需要自己手动创建:
【注意】:vim的配置文件有两处:
(1) 全局配置文件( /root )------ 强烈 不 推荐
此文件的配置会对系统内所有用户有效,包括root用户。
(2) 单用户配置文件( /home/xxx/.vimrc )----- 推荐
此文件的配置只对用户xxx有效。这里xxx代表用户名,比如用户名是sun,则修改/home/sun/.vimrc。如果当前登录用户就是sun,也可以直接修改~/.vimrc,因为在linux系统中符号 ~ 等同于用户的家路径,按照此处例子即为/home/sun。
🍋手动配置 Vim --- (不推荐)
这种方法就是直接向
.vimrc
文件写入指定内容,从而让vim
编辑器具备某种指定的功能
- 例如:在原始的 vim编译器中,不存在行号
- 首先,用 Vim 打开 Vim配置文件 .vimrc
- 在配置文件中,加入我们需要的行号 ---- set number
- 再次打开
vim
编辑器,其页面就会变为:
在此,由于手动去配置非常繁琐,所以在此就不继续展示。感兴趣的小伙伴可以参考以下文章,按照上述例子,去实现一个自己理想化的 --- Vim 编辑环境
- 有关vim的一些配置可以参考一下这篇文章 ——> .vimrc文件配置
- 你可以根据自己的喜好去配置vim,打造一个专属于自己的编辑器
🍇自动化一键配置 Vim --- (强烈推荐)
当然,你肯定会任何这么一条条去配置不是要累死人了,那样的好你可以选择自动化配置,只需要打上一条命令即可
为了简化这一步骤,有大佬就帮我们做了这样的一件事,我们直接用就可以了,以下两个使我感觉还不错的,大家可以借鉴一番:
- a)大家可以在 gitee 上搜索【vimforcpp】-- 推荐
- b)其次还有一款 github 上的:【Vim配置】
- 我们可以新建一个用户来进行配置
- 输入
root
的密码后就可以进行安装配置了
注意:因为这是从gitee上面拿过来的,所以需要你的系统中装有git才行
① 使用
git --version
查看自己的系统中是否有安装git② 没安装的话使用
yum install -y git
稍等一会就可以安装好了
- 很快就可以配置好了,接下去手动敲一下这句命令是你的家目录底下产生一个
.bashrc
的文件让vim的配置生效即可 - 来到家目录观察一下就可以看到配置完成了,然后再进去
.vimrc
这个配置文件看看
- 可以看到进去后配置就看到自动化配置就完成了
✨功能演示
注:
- 如果所在的普通账户无法使用
sudo
指令,请关注我的下一篇文章哦 - 本配置方案只适用于
CentOs 7
系统 - 最好不要在
root
账号下下载
五、共勉
以下就是我对 Vim保姆级一键配置教程 的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对 Vim 的理解,请持续关注我哦!!!
相关文章:

【Linux基础】Vim保姆级一键配置教程(手把手教你把Vim打造成高效率C++开发环境)
目录 一、前言 二、安装Vim 三、原始Vim编译器的缺陷分析 四、Vim配置 🥝预备知识----.vimrc 隐藏文件 🍋手动配置 Vim --- (不推荐) 🍇自动化一键配置 Vim --- (强烈推荐) ✨功能演示 五、共勉 一、前言 Vim作为…...

Gartner发布准备应对勒索软件攻击指南:勒索软件攻击的三个阶段及其防御生命周期
攻击者改变了策略,在某些情况下转向勒索软件。安全和风险管理领导者必须通过提高检测和预防能力来为勒索软件攻击做好准备,同时还要改进其事后应对策略。 主要发现 勒索软件(无加密的数据盗窃攻击)是攻击者越来越多地使用的策略。…...

IB 公式解析
IB损失 自我感悟 根据对决策边界的影响程度来分配权重。影响程度越大,分配到的权重越小;影响程度越小,分配到的权重越大。 最后其实就是平衡因子和交叉熵损失的输出的乘积 公式 3.2. Influence Function 影响函数允许我们在移除样本时估…...

开发辅助工具的缩写
开发辅助工具的缩写有很多,这些工具通常是为了提高软件开发效率、代码质量和团队协作效率而设计的。以下是一些常见的开发辅助工具及其缩写: IDE - Integrated Development Environment(集成开发环境) VCS - Version Control Sys…...

linux程序分析命令(一)
linux程序分析命令(一) **ldd:**用于打印共享库依赖。这个命令会显示出一个可执行文件所依赖的所有共享库(动态链接库),这对于解决运行时库依赖问题非常有用。**nm:**用于列出对象文件的符号表。这个命令可以显示出定…...

MYSQL数据库-SQL语句
数据库相关概念 名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase(DB)数据库管理系统操纵和管理数据库的大型软件DataBase Management System(DBMS)SQL操作关系型数据库的编程语言,定义了一套操作关系型数据库统一标准Structured Quer…...

MyBatis认识
一、定义 MyBatis是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java O…...

【WEEK11】 【DAY6】Employee Management System Part 7【English Version】
2024.5.11 Saturday Continued from 【WEEK11】 【DAY5】Employee Management System Part 6【English Version】 Contents 10.8. Delete and 404 Handling10.8.1. Modify list.html10.8.2. Modify EmployeeController.java10.8.3. Restart10.8.4. 404 Page Handling10.8.4.1. …...

【52】Camunda8-Zeebe核心引擎-Clustering与流程生命周期
Clustering集群 Zeebe本质是作为一个brokers集群运行,形成一个点对点网络。在这个网络中,所有brokers的功能与服务都相同,没有单点故障。 Gossip协议 Zeebe实现了gossip协议,并借此知悉哪些broker当前是集群的一部分。 集群使用…...

从零开始的软件测试学习之旅(八)jmeter线程组参数化及函数学习
jmeter线程组参数化及函数学习 Jmeter基础基本使用流程组件与元件 线程组线程的执行方式Jmeter组件执行顺序 常见属性设置查看结果数的作用域举例 Jmeter参数化实现方式1.用户定义参数2.用户参数3.函数4.csv数据文件设置 每日复习 Jmeter基础 基本使用流程 启动项目案例 启动…...

图文并茂:解析Spring Boot Controller返回图片的三种方式
欢迎来到我的博客,代码的世界里,每一行都是一个故事 图文并茂:解析Spring Boot Controller返回图片的三种方式 前言使用Base64编码返回图片使用byte数组返回图片使用Resource对象返回图片图片格式转换与性能对比 前言 在互联网的世界里&…...

问题处理记录 | 表输出报错 Packet for query is too large (5,214,153 > 4,194,304).
这个错误是由于MySQL服务器接收到的查询数据包太大而引起的。具体来说,错误消息中提到的数据包大小为5,214,153字节,而MySQL服务器默认只接受最大为4,194,304字节的数据包。 要解决这个问题,你可以尝试通过修改MySQL服务器的配置来增大max_a…...

数据结构_栈和队列(Stack Queue)
✨✨所属专栏:数据结构✨✨ ✨✨作者主页:嶔某✨✨ 栈: 代码:function/数据结构_栈/stack.c 钦某/c-language-learning - 码云 - 开源中国 (gitee.com)https://gitee.com/wang-qin928/c-language-learning/blob/master/function/…...

基于docker 的elasticsearch冷热分离及生命周期管理
文章目录 冷热集群架构的应用场景冷热集群架构的优势冷热集群架构实战搭建集群 索引生命周期管理认识索引生命周期索引生命周期管理的历史演变索引生命周期管理的基础知识Rollover:滚动索引 冷热集群架构的应用场景 某客户的线上业务场景如下:系统每天增…...

pikachu靶场(xss通关教程)
(注:若复制注入代码攻击无效,请手动输入注入语句,在英文输入法下) 反射型xss(get型) 1.打开网站 发现有个框,然后我们在框中输入一个“1”进行测试, 可以看到提交的数据在url处有显示…...

实验0.0 Visual Studio 2022安装指南
Visual Studio 2022 是一个功能强大的开发工具,对于计算机专业的学生来说,它不仅可以帮助你完成学业项目,还能为你将来的职业生涯打下坚实的基础。通过学习和使用 Visual Studio,你将能够更高效地开发软件,并在编程领域…...

数据结构之----线性表
线性表分为 顺序存储结构 和 链式存储结构 线性表的顺序存储结构: 线性表的顺序存储结构,指的是用一段地址连续的存储单元依次存储线性表的数据元素。 1,顺序表的结构: #define MAXSIZE 20 typedef int El…...

thinkphp5.1 模型auto
在ThinkPHP5.1中,模型的自动完成功能可以通过在模型类中定义auto属性来实现。这个属性是一个数组,包含了需要自动填充的字段和对应的处理规则。 以下是一个简单的例子,展示了如何在ThinkPHP5.1的模型中使用自动完成功能: <?…...

企业微信创建应用(一)
登录到企业微信后台管理(https://work.weixin.qq.com/)进入自建应用(应用管理-应用-创建应用) 3.查看参数AgentId和 Secret 4.企业微信查看效果...

Cosmo Bunny Girl
可爱的宇宙兔女郎的3D模型。用额外的骨骼装配到Humanoid上,Apple混合了形状。完全模块化,包括不带衣服的身体。 技术细节 内置,包括URP和HDRP PDF。还包括关于如何启用URP和HDRP的说明。 LOD 0:面:40076,tris 76694,verts 44783 装配了Humanoid。添加到Humanoid中的其他…...

初始化linux数据盘(3TB)分区-格式化-挂载目录
场景说明:某云给我们服务器加载了一块3TB的硬盘扩容(没有直接扩,原因是原来的盘做的是mbr(什么年代了,谁干的)的分区,最大识别2TB) 确认磁盘 输入命令lsblk 查看数据盘信息 &#…...

NFS网络文件系统的应用
1.配置2台服务器要求如下: a)服务器1: 主机名:user-server.timinglee.org ip地址: 172.25.254.100 [rootserver100 桌面]# hostnamectl hostname user-server.timinglee.org [rootserver100 桌面]# ifconfig eth0: fl…...

AttributeError: module ‘PIL.Image‘ has no attribute ‘ANTIALIAS‘
问题描述 修改图片大小的时候,代码报错:AttributeError: module PIL.Image has no attribute ANTIALIAS 解决方案 在pillow的10.0.0版本中,ANTIALIAS方法被删除了。 方法1:修改版本(不推荐) pip instal…...

进程的共享主存通信实验
进程的共享主存通信 【预备知识】 共享存储区为进程提供了直接通过主存进行通信的有效手段,不像消息缓冲机制那样需要系统提供缓冲,也不像pipe机制那样需要事先建立一个特殊文件,而是由通信双方直接访问某些共享虚拟储存空间。在Linux中&…...

深度缓冲技术在AI去衣中的神奇作用
引言: 随着人工智能技术的飞速发展,其在图形处理和视觉领域的应用日益增多。AI去衣技术便是其中一个颇具争议但又技术上引人入胜的话题。今天,我们将深入探讨一项关键技术——深度缓冲(Depth Buffering),它…...

能效?性能?一个关于Windows下使用openssl speed进行速度测试的诡异问题
问题描述 最近的某个软件用到了openssl,所以就想着测试一下速度。我的电脑是惠普的,CPU是AMD Ryzen 7 PRO 6850HS,系统是Win11。我使用openssl自带的speed测试加密/解密的速度,命令大致如下: openssl speed -evp aes…...

block性能考虑和线程安全
性能考虑 频繁地创建和销毁大量的 block 可能会对性能造成影响,特别是当这些 block 被拷贝到堆上时。同时,block 捕获大量数据时也会增加内存使用。 在讨论性能考虑时,主要关注的是 block 的创建、拷贝到堆上以及捕获变量的成本。以下是针对…...

没有公网ip,如何实现外网访问内网?
目前拨号上网是最广泛的上网方式,这种方式优点是价格便宜,缺点是没有固定公网ip,每次重新您拨号ip地址都会变。如果有一台服务器,需要实现外网访问,在没有固定公网ip的环境下,该如何实现呢?使用…...

Python中如何将小数转化为百分数进行输出
小数转化为百分数 Python中如何将小数转化为百分数进行输出基本概念使用字符串格式化1. 使用字符串格式化操作符 %2. 使用str.format()方法3. 使用f-string(格式化字符串字面量) **重点内容**:**无论是通过使用%格式化操作符、str.format()方…...

加入全球少儿编程运动:Scratch让每个孩子都能成为创造者(Scratch最新版客户端和初/中/高级学习资料整理分享)
文章目录 📖 介绍 📖🏡 演示环境 🏡📒 文章内容 📒📝 安装与使用📝 社区与资源 🎈 获取方式 🎈⚓️ 相关链接 ⚓️ 📖 介绍 📖 你知道…...