当前位置: 首页 > 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的备份与恢复工具 …...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

Redis相关知识总结(缓存雪崩,缓存穿透,缓存击穿,Redis实现分布式锁,如何保持数据库和缓存一致)

文章目录 1.什么是Redis&#xff1f;2.为什么要使用redis作为mysql的缓存&#xff1f;3.什么是缓存雪崩、缓存穿透、缓存击穿&#xff1f;3.1缓存雪崩3.1.1 大量缓存同时过期3.1.2 Redis宕机 3.2 缓存击穿3.3 缓存穿透3.4 总结 4. 数据库和缓存如何保持一致性5. Redis实现分布式…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版​分享

平时用 iPhone 的时候&#xff0c;难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵&#xff0c;或者买了二手 iPhone 却被原来的 iCloud 账号锁住&#xff0c;这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

微服务商城-商品微服务

数据表 CREATE TABLE product (id bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 商品id,cateid smallint(6) UNSIGNED NOT NULL DEFAULT 0 COMMENT 类别Id,name varchar(100) NOT NULL DEFAULT COMMENT 商品名称,subtitle varchar(200) NOT NULL DEFAULT COMMENT 商…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

推荐 github 项目:GeminiImageApp(图片生成方向,可以做一定的素材)

推荐 github 项目:GeminiImageApp(图片生成方向&#xff0c;可以做一定的素材) 这个项目能干嘛? 使用 gemini 2.0 的 api 和 google 其他的 api 来做衍生处理 简化和优化了文生图和图生图的行为(我的最主要) 并且有一些目标检测和切割(我用不到) 视频和 imagefx 因为没 a…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

破解路内监管盲区:免布线低位视频桩重塑停车管理新标准

城市路内停车管理常因行道树遮挡、高位设备盲区等问题&#xff0c;导致车牌识别率低、逃费率高&#xff0c;传统模式在复杂路段束手无策。免布线低位视频桩凭借超低视角部署与智能算法&#xff0c;正成为破局关键。该设备安装于车位侧方0.5-0.7米高度&#xff0c;直接规避树枝遮…...