【Linux系列】跨平台安装与配置 Vim 文本编辑器
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
- 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
- 导航
- 檀越剑指大厂系列:全面总结 java 核心技术,jvm,并发编程 redis,kafka,Spring,微服务等
- 常用开发工具系列:常用的开发工具,IDEA,Mac,Alfred,Git,typora 等
- 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
- 新空间代码工作室:提供各种软件服务,承接各种毕业设计,毕业论文等
- 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
- 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
博客目录
- 一、Vim 编辑器简介
- 二、Linux 系统安装 Vim
- 1. Debian/Ubuntu 及其衍生系统安装
- 2. RHEL/CentOS/Fedora 系统安装
- 3. Arch Linux 安装
- 4. openSUSE 安装
- 三、macOS 系统安装 Vim
- 四、验证安装与基本使用
- 五、基础配置与.vimrc 文件
Vim 作为一款历史悠久且功能强大的文本编辑器,凭借其高效的键盘操作和强大的可定制性,在程序员、系统管理员和文本编辑爱好者中广受欢迎。
一、Vim 编辑器简介
Vim(Vi Improved)是 Bram Moolenaar 于 1991 年发布的文本编辑器,它是 Unix 系统经典编辑器 Vi 的增强版本。经过 30 多年的发展,Vim 已成为跨平台的文本编辑解决方案,支持几乎所有主流操作系统。Vim 的主要特点包括:
- 模式化编辑:区分插入模式、命令模式和可视模式,大幅提升编辑效率
- 强大的键盘快捷键:几乎所有的编辑操作都可以通过键盘完成
- 高度可定制:通过.vimrc 配置文件可完全自定义编辑环境
- 丰富的插件系统:支持通过各种插件扩展功能
- 跨平台兼容:在 Linux、macOS、Windows 等系统上表现一致
二、Linux 系统安装 Vim
1. Debian/Ubuntu 及其衍生系统安装
对于基于 Debian 的 Linux 发行版(如 Ubuntu、Linux Mint 等),安装 Vim 非常简单。首先更新软件包索引,然后安装 Vim:
sudo apt update
sudo apt install vim
这个命令会从官方仓库安装稳定版本的 Vim。如果需要安装图形界面版本的 Vim(gvim),可以使用:
sudo apt install vim-gtk3
2. RHEL/CentOS/Fedora 系统安装
对于 Red Hat 系列的 Linux 发行版,安装方法略有不同:
- 旧版 CentOS/RHEL 6/7 使用 yum 包管理器:
sudo yum install vim
- Fedora 和新版 CentOS 8+/RHEL 8+使用 dnf 包管理器:
sudo dnf install vim
3. Arch Linux 安装
Arch Linux 及其衍生系统(如 Manjaro)使用 pacman 包管理器:
sudo pacman -S vim
4. openSUSE 安装
openSUSE 系统使用 zypper 包管理器:
sudo zypper install vim
三、macOS 系统安装 Vim
虽然 macOS 系统预装了 Vim,但通常是较旧的版本。推荐使用 Homebrew 安装最新版本:
- 首先确保已安装 Homebrew(如果没有安装,可运行以下命令):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 使用 Homebrew 安装 Vim:
brew install vim
安装完成后,新版本的 Vim 会被安装到/usr/local/bin 目录下。可以通过设置 PATH 环境变量或创建别名来优先使用新版本。
四、验证安装与基本使用
安装完成后,可以通过以下命令验证 Vim 是否安装成功:
vim --version
这个命令会显示 Vim 的版本信息、包含的功能特性等。如果看到版本信息输出,说明安装成功。
启动 Vim 的基本方法是直接在终端输入:
vim 文件名
如果没有指定文件名,Vim 会打开一个空白缓冲区。初次使用 Vim 的用户可能会对它的操作方式感到困惑,因为 Vim 默认启动在命令模式(也称为普通模式),需要按i
键进入插入模式才能输入文本。输入完成后按Esc
键返回命令模式,然后输入:wq
保存并退出。
五、基础配置与.vimrc 文件
Vim 的强大之处在于它的高度可定制性。用户可以通过编辑~/.vimrc
文件(Windows 系统是_vimrc
文件)来配置 Vim 的行为。以下是一些常用的基础配置选项:
- 首先创建或编辑.vimrc 文件:
vim ~/.vimrc
- 常用配置示例:
" 显示行号
set number" 语法高亮
syntax on" 自动缩进
set autoindent" 制表符设置为4个空格
set tabstop=4
set shiftwidth=4
set expandtab" 高亮当前行
set cursorline" 在状态栏显示当前模式
set showmode" 启用鼠标支持
set mouse=a" 搜索时忽略大小写
set ignorecase
set smartcase" 显示匹配的括号
set showmatch
这些配置只是 Vim 定制功能的冰山一角。随着对 Vim 的熟悉,用户可以根据需要添加更多高级配置或安装插件来扩展功能。
觉得有用的话点个赞
👍🏻
呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙
相关文章:
【Linux系列】跨平台安装与配置 Vim 文本编辑器
💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...
Level1.5算数运算符与赋值运算符
目录 一、算术运算符和赋值运算符 1.1算术运算符 - * / % // ** 1.2.赋值运算符 - * / % // ** 二、等比例缩小(变量火柴人案例) 三、颜色的三种表达方法取余%运算 1.颜色单词 turtle.pencolor(pink) 2.RGB颜色turtle.pe…...
基于GF域的多进制QC-LDPC误码率matlab仿真,译码采用EMS算法
目录 1.算法仿真效果 2.算法涉及理论知识概要 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印): 本课题实现的是四进制QC-LDPC 仿真操作步骤可参考程序配套的操作视频。 2.算…...
CentOS 7 修改锁屏时间为永不
在 CentOS 7 中,默认情况下,系统会在一定时间不活动后自动锁屏。对于某些用户来说,可能希望禁用自动锁屏功能或者将锁屏时间设置为“永不”。本文将介绍如何通过图形界面和命令行两种方式修改 CentOS 7 的锁屏时间,确保系统永不自…...
STM32-ADC模数转换器(7)
对GPIO来说,它只能读取引脚的高低电平,使用了ADC模数转化器之后,就可以对高电平和低电平之间的任意电压进行量化,最终用一个变量来表示,读取这个变量,就能得到引脚输入的具体电压是多少了。 ADC模数转化器…...
前端SSE技术详解:从入门到实战的完整指南
前端SSE技术详解:从入门到实战的完整指南 一、初识SSE:比WebSocket更轻量的选择 很多开发者第一次听说Server-Sent Events(SSE)时,都会下意识问:“这和WebSocket有什么区别?” 就像选择交通工…...
mac u盘重装mac10.15Catalina系统
我的电脑提mac2017的air 重装过程 (文件夹中间有空格时为 Install\ macOS\ Catalina 才行) (有需要的,最好做一下备份,有些东西可以及时找到配置和文件之类的, u盘制作是在mac电脑上操作的) 一、先下载系统镜像文件或自行到官方…...
8051模板移植
8051模板移植 一,新建工程文件二,Keil配置 一,新建工程文件 在工程文件下建立Driver和User 打开Keil,点击扳手选择芯片型号 出现下图情况,选择是,然后会多出一个启动文件,以后有用 二&…...
轻松制作高质量视频,实时生成神器LTX-Video重磅登场!
探索LTX-Video:实时视频生成跨越新高度 在如今这个视觉内容主导的数字时代,视频生成成为推动创意表达的关键。而今天,我们将带您深入探索LTX-Video,一个强大的开源项目,致力于通过尖端技术将视频生成提升到一个全新的…...
两个数组的交集(暴力、set、哈希)
一.题目 给定两个数组 nums1 和 nums2 ,返回 它们的 交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: 输入:nums1 [1,2,2,1], nums2 [2,2] 输出:[2]示例 2: 输入…...
[架构之美]Spring Boot多环境5种方案实现Dev/Test/Prod环境隔离
[架构之美]Spring Boot多环境5种方案实现Dev/Test/Prod环境隔离(十六) 摘要:本文深入剖析Spring Boot多环境配置的5种实现方案,涵盖YAML分组配置、Maven Profile集成、Kubernetes适配等企业级实践,并附赠配置加密方案…...
LWIP的IP协议笔记
IP协议简介 IP协议是TCP/IP协议族的基石,它为上层提供无连接、不可靠的服务 无连接:指IP通信双方都不长久的维持对方的任何信息。这表示上层协议每次发送数据,都需要明确指出对方的IP地址 不可靠:指IP协议不能把IP数据报准确到…...
matlab介绍while函数
MATLAB 中的 while 语句介绍 在 MATLAB 中,while 语句是一种循环结构,用于在满足特定条件时反复执行一段代码块。与 for 循环不同,while 循环的执行次数是动态的,取决于循环条件是否为真。 语法 while condition% 循环体代码 e…...
每日算法刷题Day2 5.10:leetcode数组1道题3种解法,用时40min
4.LC 旋转矩阵(中等,学习) 面试题 01.07. 旋转矩阵 - 力扣(LeetCode) 思想: 法一: 额外空间数组来回赋值拷贝 法二: 1.翻转90度得到等式a[j][n-i-1]a[i][j],但是会改变a[j][n-i-1]原始值,再去看该位置变到哪一位置 分析可得,4个…...
【图书管理系统】深度讲解:图书列表展示的后端实现、高内聚低耦合的应用、前端代码讲解
1.约定前后端交互接口 [请求] /book/getListByPage [参数] currentPage1&pageSize10 [响应] 返回封装的result对象对应的Json数据 2. 整体逻辑 2.1 Controller的逻辑 (1)把接收的参数封装为PageRequest类,里面有属性:curren…...
本地大模型工具深度评测:LM Studio vs Ollama,开发者选型指南
引言 在大语言模型本地化部署的技术浪潮中,隐私保护与成本优化成为核心诉求。LM Studio与Ollama作为两款明星级本地大模型工具,凭借对开源模型的支持能力,成为开发者关注的焦点。本文将从技术架构、应用场景、实操体验三个维度展开深度对比&a…...
天线的PCB设计
目录 天线模块设计的重要性 天线模块的PCB设计 天线模块设计的重要性 当智能手表突然断连、无人机信号飘忽不定——你可能正在经历一场来自天线模块的"无声抗议"。这个隐藏在电子设备深处的关键组件,就像数字世界的隐形信使,用毫米级的精密结…...
《P1226 【模板】快速幂》
题目描述 给你三个整数 a,b,p,求 abmodp。 输入格式 输入只有一行三个整数,分别代表 a,b,p。 输出格式 输出一行一个字符串 a^b mod ps,其中 a,b,p 分别为题目给定的值, s 为运算结果。 输入输出样例 输入 #1复制 2 10 9输…...
推荐一款免费开源工程项目管理系统软件,根据工程项目全过程管理流程开发的OA 办公系统
在当今的工程项目管理领域,许多企业和团队面临着诸多难题。传统的管理方式往往依赖于人工记录和分散的工具,导致项目进度难以实时把控,任务分配不够清晰,合同管理混乱,事件提醒不及时,财务管理缺乏系统性&a…...
AZScreenRecorder最新版:功能强大、操作简便的手机录屏软件
AZScreenRecorder最新版是一款功能强大的手机录屏软件,专为安卓设备设计。它无需ROOT权限,支持无限录制时长,操作简单,录制过程中可以随时暂停,满足不同用户的个性化录屏需求。此外,用户还可以自定义分辨率…...
[sklearn机器学习概述]机器学习-part3
获取数据、数据处理、特征工程后,就可以交给预估器进行机器学习,流程和常用API如下。 1.实例化预估器(估计器)对象(estimator), 预估器对象很多,都是estimator的子类(1)用于分类的预估器sklearn.neighbors.KNeighbors…...
[模型选择与调优]机器学习-part4
七 模型选择与调优 1 交叉验证 (1) 保留交叉验证HoldOut HoldOut Cross-validation(Train-Test Split) 在这种交叉验证技术中,整个数据集被随机地划分为训练集和验证集。根据经验法则,整个数据集的近70%被用作训练集ÿ…...
PyTorch API 1 - 概述、数学运算、nn、实用工具、函数、张量
文章目录 torch张量创建操作索引、切片、连接与变异操作 加速器生成器随机采样原地随机采样准随机采样 序列化并行计算局部禁用梯度计算数学运算常量逐点运算归约操作比较运算频谱操作其他操作BLAS 和 LAPACK 运算遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历操作遍历…...
如何在mac上使用便利贴
可以在 App Store 下载便利贴应用实现在电脑上贴便条的效果。 以 「桌面便利贴」这款应用为例,创建的便利贴会像桌面上的文件一样展示在桌面上,随时可以查看。还可以修改便笺的颜色、透明度、字体、高亮等等。 我比较喜欢的功能是将便签固定在所有窗口的…...
Linux——Mysql索引和事务
目录 一,Mysql索引介绍 1,索引概述 1,索引的优点 2,索引的缺点 2,索引作用 3,索引分类 普通索引 唯一索引 主键索引 组合索引 全文索引 4,查看索引 5,删除索引 6&…...
vim 查看复杂的宏扩展
在一些复杂项目中,使用宏可以简化代码。但是对于刚接触项目的人来说,分析层层嵌套的宏,是件头疼的事情。 使用 vim 的多窗口功能,可以为此提供一些帮助。 如下图,分析4层嵌套的宏,DEFINE_I440FX_MACHINE -…...
【计算机视觉】OpenCV项目实战:基于OpenCV的图像分割技术深度解析与实践指南
基于OpenCV的图像分割技术深度解析与实践指南 项目概述与技术背景项目核心特点传统分割算法分类 环境配置与项目结构系统要求安装步骤项目结构解析 核心算法实现解析1. 阈值分割(Otsu方法)2. Canny边缘检测3. 分水岭算法 实战应用指南1. 基础分割流程2. …...
线性表-顺序表(Sequential List)
1 线性表 1.1 顺序表(Sequential List) 顺序表并不难理解,主要是知道顺序表是在内存中连续存储的一段数据,知道这个后,相应的算法也就非常简单了。 线性表的顺序表示指的是用一组地址连续的存储单元依次存储线性表的…...
《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-俄罗斯方块:用旋转矩阵打造经典
《用MATLAB玩转游戏开发:从零开始打造你的数字乐园》基础篇(2D图形交互)-🎮 俄罗斯方块:用旋转矩阵打造经典 🧊 大家好!今天我将带大家用MATLAB实现经典的俄罗斯方块游戏。我们将从数学原理出发…...
通过user-agent来源判断阻止爬虫访问网站,并防止生成[ error ] NULL日志
一、TP5.0通过行为(Behavior)拦截爬虫并避免生成 [ error ] NULL 错误日志 1. 创建行为类(拦截爬虫) 在 application/common/behavior 目录下新建BlockBot.php ,用于识别并拦截爬虫请求: <?php name…...
微服务的“迷宫” - 我们为何需要服务网格?
微服务的“迷宫” - 我们为何需要服务网格? 你好!欢迎来到我们的服务网格探索之旅。近年来,“微服务架构”无疑是软件开发领域最热门的词汇之一。它将庞大的单体应用拆分成一组小而独立的、可以独立开发、部署和扩展的服务单元,带来了前所未有的敏捷性和弹性。开发团队可以…...
Ubuntu 安装 HAProxy
HAProxy 是什么 HAProxy(High Availability Proxy) 是一个 高性能、高可用的 TCP 和 HTTP 负载均衡器与代理服务器。 HAProxy 的特点 特性说明支持协议HTTP、HTTPS、TCP高性能使用 C 语言编写,性能极高高可用与 Keepalived 配合可实现主备健…...
VUE CLI - 使用VUE脚手架创建前端项目工程
前言 前端从这里开始,本文将介绍如何使用VUE脚手架创建前端工程项目 1.预准备(编辑器和管理器) 编辑器:推荐使用Vscode,WebStorm,或者Hbuilder(适合刚开始练手使用),个…...
Nginx高级配置
目录 一.网页的状态页 二. Nginx第三方模块 2.1 echo模块 三. 变量 3.1 内置变量 3.2 自定义变量 四. 自定义访问日志 (优化) 4.1 自定义访问日志的格式 4.2 自定义json 格式日志 五. Nginx压缩功能 六 . HTTPS 功能 6.1 https概述 6.2 配置实例-----自签名证…...
Docker镜像搬运工:深入解析export与import,实现容器环境无缝迁移!
Docker作为现代开发运维的利器,其镜像和容器的管理技巧直接影响效率。当我们需要跨环境迁移容器状态时,docker export和docker import这对组合命令就能大显身手。本文带你彻底搞懂它们的核心逻辑、使用场景及避坑指南! 一、Docker export&…...
数字孪生实战笔记(1)数字孪生的含义、应用及技术体系
一、含义 数字孪生(Digital Twin)是一种通过数字化模型在虚拟世界中实时映射和模拟物理实体、系统或过程的技术。它的核心目的是通过对现实对象的建模、感知、分析和预测,实现对物理世界的全面感知、智能控制和优化决策。数字孪生 实体对象 …...
计算机网络 4-2-2 网络层(IPv4)
2.7 网络地址转换NAT 引入端口号:IP地址端口号→一个特定的进程,(不同主机可能存在相同端口号) 网络层实现了“主机到主机”的通信。网络层在IP数据报的首部,指明源IP地址、目的IP地址 传输层实现了“端到端” &#…...
第二个简单的SpringBoot和Vue前后端全栈的todoapp案例
项目源于哔哩哔哩,按视频手敲了一下,补充上代码和一些细节。 全栈项目实践:1小时快速入门SpringBootvue3element-plus_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1LH4y1w7Nd/?spm_id_from333.1387.favlist.content.click&vd_…...
探秘 Canva AI 图像生成器:重塑设计创作新范式
Canva 凭借简洁易用的界面和海量模板资源,早已成为设计师和普通用户的心头好。而 Canva AI 图像生成器的推出,更是为设计领域带来了一场深刻变革,以智能化的手段重塑了图像创作的方式与边界。 技术内核:AI 如何驱动图像生成 Can…...
栈应用:辅助站(c++)
干货 今天讲讲最大辅助栈和最小辅助栈 主栈进入元素的时候 最大辅助栈:保证新元素大于等于(辅助栈)顶的时候,再进入辅助栈这样就能保证最大辅助栈的栈顶元素 是主栈中的最大值 主栈出栈的时候 最大辅助栈:主栈出栈元素如果等于(辅助栈)的栈顶元素,再…...
AI时代的数据可视化:未来已来
你有没有想过,数据可视化在未来会变成什么样?随着人工智能(AI)的飞速发展,数据可视化已经不再是简单的图表和图形,而是一个充满无限可能的智能领域。AI时代的可视化不仅能自动解读数据,还能预测…...
常见音频主控芯片以及相关厂家总结
音频主控芯片是音频设备(如蓝牙耳机、音箱、功放等)的核心组件,负责音频信号的解码、编码、处理和传输。以下是常见的音频主控芯片及其相关厂家,按应用领域分类: 蓝牙音频芯片 主要用于无线耳机、音箱等设备࿰…...
湖仓一体架构在金融典型数据分析场景中的实践
在数字经济与金融科技深度融合的今天,数据已成为金融机构的核心战略资产。然而,传统数据架构面临着三大困局,制约着金融机构数据价值的充分释放。 一、需求驱动更多银行数据分析场景 金融机构,特别是银行业,面临着双重…...
VBA —— 学习Day5
子程序与函数 子程序:实现特定功能的程序代码块 子程序语法: [修饰符] Sub 子程序名称([参数1,参数2,参数3]) 代码块 End Sub 子程序如何调用: 1 . 子程序名 [参数1,参数2,...] 2. Cal…...
Flink 实时数据一致性与 Exactly-Once 语义保障实战
在构建企业级实时数仓的过程中,“数据一致性” 是保障指标准确性的核心能力,尤其是在金融、电商、医疗等对数据敏感度极高的场景中。Flink 作为流批一体的实时计算引擎,其内建的 Exactly-Once 语义为我们提供了强有力的保障机制。本篇将围绕如何实现端到端的数据一致性、如何…...
Java云原生到底是啥,有哪些技术
☁️ Java云原生:程序员の修仙飞升指南(附渡劫技巧) 一、修仙世界观:传统程序 vs 云原生程序 🏡 传统Java程序(老宅院) 特点:单体大瓦房、扩建要拆墙(耦合度高…...
IPM IMI111T-026H 高效风扇控制板
概述: REF-MHA50WIMI111T 是一款专为风扇驱动设计的参考开发板,搭载了英飞凌的IMI111T-026H iMOTION™智能功率模块(IPM)。这个模块集成了运动控制引擎(MCE)、三相栅极驱动器和基于IGBT的功率级,全部封装在一个紧凑的DSO22封装中。REF-MHA50…...
JavaScript基础-局部作用域
在JavaScript中,理解不同种类的作用域是掌握这门语言的关键之一。作用域决定了变量和函数的可访问性(即可见性和生命周期)。与全局作用域相对应的是局部作用域,它限制了变量和函数只能在其定义的特定范围内被访问。本文将深入探讨…...
[特殊字符]Meilisearch:AI驱动的现代搜索引擎
前言 大家好,我是MAI麦造! 上文介绍一了Manticore Search 这款轻量级的搜索引擎,这次又有了新的发现!传送门: Elasticsearch太重?它的超轻量的替代品找到了! 这是一个让我超级兴奋的AI搜索引…...
K8S Svc Port-forward 访问方式
在 Kubernetes 中,kubectl port-forward 是一种 本地与集群内资源(Pod/Service)建立临时网络隧道 的访问方式,无需暴露服务到公网,适合开发调试、临时访问等场景。以下是详细使用方法及注意事项: 1. 基础用…...