当前位置: 首页 > news >正文

简单介绍vim

文章目录

  • 前言
  • 一、Vim的特点
  • 二、安装Vim
  • 三、设置Vim
    • 配置文件的位置:
    • 编辑配置文件:
    • 添加配置选项:
    • 保存并退出编辑器:
    • 快速配置
    • 验证设置:
  • 总结


前言

Vim是一款强大的文本编辑器,被广泛用于各种编程和文本编辑任务。它起源于Vi,一个古老的Unix文本编辑器,但Vim(Vi Improved)提供了更多的功能和改进。Vim具有模式化的编辑界面,主要包括普通模式、插入模式、命令模式等,每种模式都有各自的操作方式和快捷键,这种设计使得Vim在编辑文本时非常高效。


一、Vim的特点

  1. 高效:Vim提供了丰富的快捷键和命令,让用户可以快速地在文件中进行移动、编辑、查找和替换等操作,极大地提高了文本编辑的效率。
  2. 可扩展性:Vim支持各种插件和脚本,用户可以根据自己的需求定制Vim的功能和界面。这些插件和脚本可以覆盖从语法高亮、代码补全到版本控制等各个方面。
  3. 多平台支持:Vim可以在多种操作系统上运行,包括Linux、macOS和Windows等,这使得Vim成为了一个跨平台的文本编辑器。
  4. 命令行操作:Vim可以在命令行界面中运行,不需要图形用户界面(GUI),这使得Vim在服务器等没有图形界面的环境中也能使用。
  5. 可配置性:Vim的配置文件(如.vimrc)允许用户根据自己的习惯定制Vim的编辑环境,包括设置快捷键、修改颜色主题、定义自定义命令等。

在CentOS 7中安装和设置Vim,可以按照以下步骤进行:

二、安装Vim

  1. 检测是否已经安装Vim:
rpm -qa | grep vim

如果系统已经安装了Vim,那么会显示出类似 vim-common, vim-enhanced,vim-minimal, vim-filesystem 这样的包名。
在这里插入图片描述

  1. 安装Vim:
yum -y install vim*
  • vim* 是一个通配符,它会匹配所有以“vim”开头的软件包。

三、设置Vim

配置文件的位置:

Vim的配置文件通常位于
/etc/vimrc 是用户级别的配置文件,只对当前用户有效。
~/.vimrc 是全局配置文件,对所有用户都有效;

编辑配置文件:

使用文本编辑器(如Vim本身)打开配置文件。如果是全局配置文件,可以使用 sudo vim /etc/vimrc 命令;如果是用户级别的配置文件,则直接使用 vim ~/.vimrc 命令。

添加配置选项:

在配置文件中,可以添加各种配置选项来定制Vim的行为。以下是一些常用的配置选项及其功能:

set nu         "设置显示行号 
set showmode   "设置在命令行界面最下面显示当前模式等
set ruler      "在右下角显示光标所在的行数等信息
set autoindent "设置每次单击Enter键后,光标移动到下一行时与上一行的起始字符对齐
syntax on      "即设置语法检测,当编辑C或者Shell脚本时,关键字会用特殊颜色显示
set number     "语法高亮"

保存并退出编辑器:

在Vim中,按 Esc 键退出插入模式,然后输入 :wq 并按 Enter 键保存并退出编辑器。

快速配置

tee -a  /etc/vimrc << 'EOF'
set nu
set showmode
set ruler
set autoindent
syntax on
set number
EOF

验证设置:

打开一个新的Vim窗口或重新打开一个已存在的Vim文件,检查你的设置是否生效。
通过以上步骤,你应该能够在CentOS 7中成功安装并设置Vim。请注意,Vim的配置非常灵活,你可以根据自己的需求和习惯进行更深入的定制。
在这里插入图片描述



总结

Vim的学习曲线相对较陡峭,因为它的操作方式和快捷键与大多数常见的文本编辑器不同。但是,一旦掌握了Vim的基本操作,你会发现Vim的编辑效率远远超过其他编辑器。许多程序员和文本编辑爱好者都将Vim视为他们的首选工具。

相关文章:

简单介绍vim

文章目录 前言一、Vim的特点二、安装Vim三、设置Vim配置文件的位置&#xff1a;编辑配置文件&#xff1a;添加配置选项&#xff1a;保存并退出编辑器&#xff1a;快速配置验证设置&#xff1a; 总结 前言 Vim是一款强大的文本编辑器&#xff0c;被广泛用于各种编程和文本编辑任…...

使用本地数据对transformers模型进行微调训练

模型 transformers模型是使用比较多的模型&#xff0c;奈何各个都是体积大&#xff0c;找了一个使用人多不是很大的模型进行训练。 需要魔法 bert-base-uncased模型仓库地址 huggingface下的所有仓库都是git的&#xff0c;也就意味着你可以使用 git clone 可以下载仓库内所有的…...

Java面试题:讨论何时需要创建自定义异常类,并展示如何实现一个自定义异常

在Java中&#xff0c;创建自定义异常类的目的是为了更加清晰和有意义地表示特定的错误情况&#xff0c;增强代码的可读性和可维护性。以下是一些需要创建自定义异常类的常见场景以及如何实现一个自定义异常。 何时需要创建自定义异常类 特定业务逻辑错误&#xff1a; 当业务逻…...

什么是进程

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在了解进程之前&#xff0c;我们需要知道多任务的概念。多任务&#xff0c;顾名思义&#xff0c;就是指操作系统能够执行多个任务。例如&#xff0c;…...

电脑提示d3dcompiler_47.dll丢失的解决方法,实测靠谱的5种方法

在计算机使用过程中&#xff0c;缺失d3dcompiler_47.dll这一系统文件是一个常见问题&#xff0c;尤其是对于游戏和图形密集型应用程序用户来说尤为重要。这个文件是DirectX软件工具包的一部分&#xff0c;主要用于处理图形渲染的应用程序接口的核心元素。当你在运行游戏或某些软…...

SQLserver前五讲课堂笔记

第一讲 基本内容 为什么要学习数据库系统?什么是数据库?什么是数据库系统?什么是数据库管理系统&#xff1f;本课程学什么以及学到什么程度? 重点难点 一组概念的区分&#xff1a;数据库、数据库系统和数据库管理系统熟悉表 的相关要素及术语熟悉数据库系统的构成(工作…...

深度学习项目十六:根据训练好的权重文件推理图片--YOLO系列

文章目录 根据训练好的权重文件推理图片--YOLO系列一、自己构建YOLOv5推理代码1.1 对数据集进行模型训练1.2 对数据集进行模型推理检测1.3 自己编写推理函数1.3.1 针对单张进行推理1.3.2 针对文件夹下的图片进行推理二、自己构建YOLOv8推理代码2.1 对数据集进行模型训练2.2 对数…...

敏感信息加密操作,让开发的系统更加的安全可靠!!

敏感信息加密操作&#xff0c;让开发的系统更加的安全可靠&#xff01;&#xff01;Jasypt&#xff08;Java Simplified Encryption&#xff09;是一个开源的Java库&#xff0c;用于简化加密操作。https://mp.weixin.qq.com/s/sPBV8Ej46YJsElImodRjAQ...

第四篇:精通Docker构建:Dockerfile的艺术与策略

精通Docker构建&#xff1a;Dockerfile的艺术与策略 1. 开篇&#xff1a;探索Docker的革命 在探讨我们的主题之前&#xff0c;让我们先回顾一下Docker的概念。Docker是一个开源平台&#xff0c;用于自动化应用程序的部署、扩展和管理&#xff0c;这一切都是在轻量级的容器中进…...

Linux下Cmake安装或版本更新

下载Cmake源码 https://cmake.org/download/ 找到对应的版本和类型 放进linux环境解压 编译 安装 tar -vxvf cmake-3.13.0.tar.gz cd cmake-3.13.0 ./bootstrap make make install设置环境变量 vi ~/.bashrc在文件尾加入 export PATH/your_path/cmake-3.13.0/bin:$PAT…...

人工智能体验工程师面试

在面试人工智能体验工程师时,面试官可能会从多个方面来考察候选人的能力和经验。以下是人工智能体验工程师面试题: 基础知识考察: 请简述人工智能、机器学习和深度学习的关系与区别。请解释神经网络的基本原理,以及它在人工智能中的应用。描述一种你熟悉的深度学习模型,并…...

科研——BIBM论文修改和提交

文章目录 引言投递流程Latex翻译流程latex模板使用bib文件正文修改 反馈时间线等待审稿结果 引言 第一轮投递快结束了&#xff0c;这里得加快进度&#xff0c;二十号截至&#xff0c;这里得在截至之前投一下&#xff0c;这里翻译整理一下投递的流程 投递流程 投递链接论文是…...

【bug】配置SpringCloudAlibaba AI的maven依赖问题

问题描述 尝鲜alibaba的ai模块&#xff0c;maven依赖一直报找不到包&#xff0c;报错如下 Unresolved dependency: org.springframework.ai:spring-ai-core:jar:0.8.1原因分析&#xff1a; 由于是按照官方文档配置的&#xff0c;所以检查了很多遍maven配置&#xff0c;加上去…...

人工智能和机器学习的应用日益广泛,在医疗健康领域的具体应用是什么?

人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;在医疗健康领域的应用日益广泛&#xff0c;涵盖了从疾病预测、辅助诊断、药物研发到健康管理等多个方面。以下是一些具体的应用实例和成功案例&#xff1a; 疾病预测与辅助诊断&#xff1a;机器学习算…...

前端:鼠标点击实现高亮特效

一、实现思路 获取鼠标点击位置 通过鼠标点击位置设置高亮裁剪动画 二、效果展示 三、按钮组件代码 <template><buttonclass"blueBut"click"clickHandler":style"{backgroundColor: clickBut ? rgb(31, 67, 117) : rgb(128, 128, 128),…...

【计算机网络体系结构】计算机网络体系结构实验-DNS模拟器实验

一、DNS模拟器实验 拓扑图 1. 服务器ip 2. 服务器填写记录 3. 客户端ip以及连接到DNS服务器 4. ping测试...

【profinet】从站开发要点

目录 0、常见缩写及关键字注释 1、profinet简介 2、profinet协议栈 3、profinet数据帧 4、profinet网络解决方案示例 5、Application areas 注&#xff1a;本文主要简述profinet从站开发涉及到的知识点。【不足之处后续慢慢补充】。 0、常见缩写及关键字注释 MRP: Media…...

浮点数的进制转换

浮点数的进制转换涉及到将十进制&#xff08;基数为10&#xff09;的浮点数转换为其他进制&#xff08;如二进制、八进制、十六进制等&#xff09;。以下是将十进制浮点数转换为其他进制的基本步骤&#xff1a; ### 1. 分离整数部分和小数部分&#xff1a; 将浮点数分为整数部…...

vue-饼形图-详细

显示效果 代码 <template> <div style"height: 350px;"> <div :class"className" :style"{height:height,width:width}"></div> </div> </template> <script> import * as echarts from echarts; req…...

MySQL-备份+日志:介质故障与数据库恢复

目录 第1关&#xff1a;备份与恢复 任务描述 相关知识 MySQL的恢复机制 MySQL的备份与恢复工具 …...

嵌入式开发十八:USART串口通信实验

上一节我们学习了串口通信的基本理论&#xff0c;串口通信是学习单片机的一个重要的一步&#xff0c;非常重要&#xff0c;这一节我们通过实验来学习串口通信的使用&#xff0c;以及串口的接收中断的使用。 一、发送单个字节uint8_t数据或者字符型数据 实现的功能&#xff1a;…...

redis复习

redis知识点 redis持久化redis 订阅发布模式redis主从复制哨兵模式redis雪崩&#xff0c;穿透缓存击穿&#xff08;请求太多&#xff0c;缓存过期&#xff09;缓存雪崩 redis持久化 redis是内存数据库&#xff0c;持久化有两种方式&#xff0c;一种是RDB&#xff08;redis dat…...

SUSE linux的快照和恢复

snapper用于创建和管理文件系统快照&#xff0c;并在需要时实现回滚&#xff0c;它还可以用于创建用户数据的磁盘备份。snapper使用btrfs文件系统或者精简配置的被格式化成XFS或EXT4的LVM卷。snapper可以通过命令行或YaST来进行管理。 btrfs是一种copy-on-write文件系统&#x…...

【Qt快速入门(六)】- QLineEdit按钮的使用

目录 Qt快速入门&#xff08;六&#xff09;- QLineEdit按钮的使用QLineEdit按钮的使用QLineEdit的基本用法1. 创建和设置文本2. 获取输入文本3. 清空输入文本 文本处理1. 选择文本2. 设置光标位置3. 撤销和重做 输入验证1. 输入掩码2. 校验器3. 输入限制 样式设置1. 设置字体和…...

常用损失函数详解:广泛使用的优化约束方法

各类常用损失函数详解&#xff1a;广泛使用的优化约束方法 今天介绍下损失函数&#xff0c;先介绍下我常用的方法SmoothedL1&#xff0c;它是一个平滑的L1 penalty函数,用于处理约束violation。 标准的L1 penalty函数定义为: L 1 ( x ) { 0 , if x ≤ 0 x , if x > 0 …...

鸿蒙开发组件:【创建DataAbility】

创建DataAbility 实现DataAbility中Insert、Query、Update、Delete接口的业务内容。保证能够满足数据库存储业务的基本需求。BatchInsert与ExecuteBatch接口已经在系统中实现遍历逻辑&#xff0c;依赖Insert、Query、Update、Delete接口逻辑&#xff0c;来实现数据的批量处理。…...

配电室数据中心巡检3d可视化搭建的详细步骤

要搭建配电室巡检的3D可视化系统&#xff0c;可以按照以下步骤进行&#xff1a; 收集配电室数据&#xff1a; 首先&#xff0c;需要收集配电室的相关数据&#xff0c;包括配电室的布局、设备信息、传感器数据等。可以通过实地调查、测量和设备手册等方式获取数据。 创建3D模型…...

TIME_WAIT的危害

前言 该文章主要讨论下TIME_WAIT的存在意义和潜在危害&#xff0c;以及解决措施。 具体内容 首先看一下下面这幅图 这幅图来自《TCP IP详解卷1&#xff1a;协议 原书第2版中文》TCP状态变迁图。 TIME_WAIT存在意义 可靠的终止TCP连接。 保证让迟来的TCP报文有足够的时间被…...

搜维尔科技邀您共赴2024第四届轨道车辆工业设计国际研讨会

会议内容 聚焦“创新、设计、突破”&#xff0c;围绕“面向生命健康、可持续发展的轨道交通系统” 为主题&#xff0c;从数字化、智能化、人性化、绿色发展等方面&#xff0c;探索轨道交通行业的设计新趋势及发展新机遇。 举办时间 2024年7月10日-12日 举办地点 星光岛-青岛融…...

智能中人类造成的风险、机器造成的风险、环境造成的风险

在使用智能技术时&#xff0c;可能会面临各种类型的风险。以下是一些可能的风险情况&#xff1a; 1、人类造成的风险 错误判断和决策&#xff1a;人类在使用智能系统时可能会因为各种原因做出错误的判断和决策&#xff0c;导致不良后果。人为错误&#xff1a;技术操作人员、维护…...

网站制作详细报价/电商网站建设教程

exec&#xff1a;对string进行正则处理,并返回匹配结果.array[0]为原字符串,array[i]为匹配在整个被搜索字符串中的位置。test&#xff1a;测试string是否包含有匹配结果&#xff0c;包含返回true&#xff0c;不包含返回null。match(pattern)&#xff1a;根据pattern进行正则匹…...

南京哪里可以做网站/嵌入式培训机构哪家好

问题&#xff1a; 假设你正在为一个大型企业级Vue应用程序编写代码&#xff0c;并且需要在多个组件之间传递数据。其中一个组件需要从另一个组件中获取数据&#xff0c;但是这个组件可能还没有加载完成。在这种情况下&#xff0c;你会采取什么措施来确保数据的可靠传输&#x…...

建设银行网站不主动弹出/阳城seo排名

数据库作为应用的基础&#xff0c;是编程人员必不可少的工具。作为一个初次接触编程的菜鸟&#xff0c;遇到了一个问题。因为首次安装的数据库没能成功&#xff0c;后来卸载后再安装总会出现各种各样的问题。一朋友介绍说&#xff0c;这可能是因为没有卸载完全的原因。搜索网络…...

个人如何建立网站/百度如何注册公司网站

默认是负载均衡 设置为广播模式:...

自己做网站如何赚钱吗/百度查询网

<script type"text/javascript"> //保留两位小数 //功能&#xff1a;将浮点数四舍五入&#xff0c;取小数点后2位 function toDecimal(x) { var f parseFloat(x); if (isNaN(f)) { return; } f Math.round(x*100)/100; return f; } //制保留2位小…...

学做网站 软件/怎样找推广平台

matlab擅长矩阵操作&#xff0c;应错采用矩阵索引的方式进行运算而避免使用for循环。串口相关 %删除所有串口,防止串口一直被MATLAB占用 delete(instrfindall); 文件读写 %filename.dat是通过USB采集到的原始数据&#xff0c;通过fopen将数据以2进制形式读取fidfopen([filen…...