首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >《Linux系统编程之开发工具》【软件包管理器 + 代码编辑器】

《Linux系统编程之开发工具》【软件包管理器 + 代码编辑器】

作者头像
序属秋秋秋
发布2025-12-18 16:28:59
发布2025-12-18 16:28:59
2140
举报

往期《Linux系统编程》回顾: /------------ 入门基础 ------------/ 【Linux的前世今生】 【Linux的环境搭建】 【Linux基础 理论+命令】(上) 【Linux基础 理论+命令】(下) 【权限管理】

前言:

hi ~,小伙伴们大家好啊!明天是重阳节了,嗯o( ̄▽ ̄)o没什么事情,只是想拿明天记录一下今天要开启Linux系统编程新的一章了。 今天要重点介绍的内容有两大块: 【软件包管理器 + 代码编辑器】 (❤️ ω ❤️)

简单跟大家剧透下:

  • 软件包管理器:能帮咱们快速搞定 Linux 系统中各类软件的安装、更新与卸载,不用再手动折腾依赖问题(~o ̄3 ̄)~
  • 代码编辑器:则是咱们写代码的 “主战场”,选对工具能让敲代码的过程又快又顺畅~( ̄y▽, ̄)╭

接下来就一起解锁这两个实用工具吧!ψ(`∇´)ψ

---------------软件包管理器---------------

1. 什么是软件包?

在 Linux 系统中安装软件一种常规方法是:先下载程序的源代码,之后对其进行编译,从而得到可执行程序。 不过这种方式比较繁琐,为了方便安装软件:

  • 开发者会把常用软件提前编译好,制作成软件包,并把这些软件包存放在服务器上
  • 用户可以通过软件包管理器(比如:yumapt 等),便捷地从服务器获取这些编译好的软件包,直接进行安装,无需再手动编译源代码,同时软件包管理器还能自动处理软件的依赖关系等
在这里插入图片描述
在这里插入图片描述

软件包:本质是为实现特定功能、经过打包整合的一组相关文件的集合,目的是简化软件的分发安装配置维护流程。

  • 不同场景下,软件包的形态和用途略有差异,但核心逻辑都是 “将分散的软件组件打包成一个可管理的单元”
  • 一个完整的软件包通常包含多个关键部分,而非单一的执行文件,这些部分共同确保软件能正常运行和被管理
    • 执行文件:软件的 “主体”
    • 依赖文件:软件运行所需的 “辅助工具”
    • 配置文件:定义软件运行的 ”规则“
    • 资源文件:提升软件可用性的 “附加内容”

2. 什么是软件包管理器?

软件包管理器:是 Linux 系统中用于自动化管理软件包的工具。

  • 它能简化软件的安装卸载更新查询等操作
  • 还能自动处理软件之间的依赖关系(比如:A 软件需要 B 软件才能运行,管理器会自动安装 B)

简单说:它就像手机里的 “应用商店”—— 你不用自己找安装包、解压缩、配置环境,只需输入命令,它就会帮你完成从下载到安装的全过程。

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

常见的软件包管理器及适用系统:

yum(Yellow dog Updater, Modified) 适用于 RedHat、CentOS、Fedora 等系统,命令示例:

代码语言:javascript
复制
yum install 软件名    # 安装软件
yum remove 软件名     # 卸载软件
yum update 软件名     # 更新软件

apt(Advanced Package Tool) 适用于 Ubuntu、Debian 等系统,命令示例:

代码语言:javascript
复制
apt install 软件名    # 安装软件
apt remove 软件名     # 卸载软件
apt upgrade 软件名    # 更新软件

这些工具的核心作用是降低软件管理的复杂度,让用户无需关注软件的底层依赖和安装细节,只需通过简单命令就能完成操作。

3. 什么是镜像?

镜像(Mirror):是指对官方软件仓库的 “副本”。

  • 官方的软件仓库(比如:CentOS、Ubuntu 官方维护的软件源)通常部署在特定服务器上,由于用户分布在全球各地,直接从官方服务器下载软件可能速度较慢
  • 于是会有很多机构(如:高校、企业)把官方软件仓库的内容,完整地复制到自己的服务器上,这些复制后的服务器就被称为 “镜像站”
  • 用户可以从离自己更近的镜像站下载软件包,这样能大大提升下载速度,同时也减轻了官方服务器的负担

简单来说:镜像就像 “备份的软件源服务器”,和官方源的内容完全一致,只是部署的位置不同,方便用户更高效地获取软件。

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

软件包获取流程解析: 我们使用的 Linux 系统内部,会预先内置官方的软件源链接(例如:CentOS 对应的 www.centos.org 相关源地址) 当我们在系统中使用 yum(CentOS 等系统常用)或 apt(Ubuntu 等系统常用)这类软件包管理器时,它会通过这些内置链接,知道从哪里去下载软件。


  • 社区与开发者的角色
    • 开发者会将软件的源代码进行编译等处理,生成可安装的软件包
    • 社区(像:CentOS、Ubuntu 社区,对应网址 www.centos.orgwww.ubuntu.org 等)会收集这些软件包,整理到软件仓库中
    • 同时,为了让不同地区的用户能更快下载,还会制作软件仓库的镜像(相当于内容相同的副本,分布在不同服务器上)

  • 镜像源的切换: 有时候,默认的官方软件源下载速度可能不太理想,这时候我们可以更改下载链接(切换镜像源)
    • 比如,将软件源换成国内的镜像站点,这样能提升软件包的下载速度,而软件包管理器(yumapt 等)也能适配这种链接的更改,从新的镜像源获取软件

  • 软件仓库的组成: 软件仓库里有不同类型的软件,以满足用户多样的需求
    • base:这类分类通常存放的是稳定版本的软件。这些软件经过了充分的测试,能为用户提供可靠的软件安装与使用体验,是系统基础且核心的软件来源
    • epel :作为扩展软件源,它提供了官方基础源(如:base)之外的大量软件包。这些软件包能满足用户在企业级 Linux 环境下更多样化、专业化的需求,扩展了系统可安装软件的范围

简单来说整个流程就是:开发者提供软件 → 社区整理成软件包并制作镜像 → Linux 系统内置官方源链接,软件包管理器通过它获取软件,也支持用户切换更优的镜像源来下载软件。

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

以下是⼀些国内Linux软件安装源的官方链接,具体如下:

  1. 阿里云官方镜像站
  2. 清华大学开源软件镜像站
  3. 中国科学技术大学开源镜像站
    • 官方链接:http://mirrors.ustc.edu.cn/
    • 提供多种 Linux 发行版的镜像,以及常用的编程语言和开发工具,方便用户获取所需软件包和工具
  4. 北京交通大学自由与开源软件镜像站
    • 官方链接:https://mirror.bjtu.edu.cn/
    • 提供多种 Linux 发行版的镜像,以及相关的软件仓库和工具,还提供详细的文档和指南帮助用户配置和使用
  5. 中国科学院软件研究所镜像站(ISCAS)
    • 官方链接:http://mirror.iscas.ac.cn/
    • 提供多种 Linux 发行版、编程语言和开发工具的镜像,用户可快速获取所需软件包和更新
  6. 上海交通大学开源镜像站
    • 官方链接:https://ftp.sjtu.edu.cn/>
    • 提供丰富的 Linux 软件资源,包括多种发行版的镜像和软件仓库,方便用户下载和安装所需软件包
  7. 网易开源镜像站
    • 官方链接:http://mirrors.163.com/
    • 提供多种 Linux 发行版的镜像,以及相关的软件仓库和工具,还提供便捷的搜索功能帮助用户快速找到所需软件包

---------------

4. yum/apt的具体操作有哪些?

yumapt 是 Linux 系统中最常用的两款包管理器,分别适用于不同发行版:

  • 一、yum 操作(适用于 CentOS、RedHat 等)
  • 二、apt 操作(适用于 Ubuntu、Debian 等)

总结: 两者核心功能一致(安装、卸载、更新等),但命令细节有差异:

  • 更新时yum 无需手动刷新索引,apt 必须先 updateupgrade
  • 卸载时yum removeapt remove 行为类似,apt purge 更彻底

一、查询软件

代码语言:javascript
复制
yum/apt search 关键词   # 搜索含关键词的软件包
yum/apt info 软件名     # 查看软件包详细信息(版本、描述等)
yum/apt list installed # 列出所有已安装的软件包
yum/apt list available # 列出仓库中可安装的软件包

一、 yum/apt search 关键词 # 搜索含关键词的软件包

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

二、yum/apt info 软件名 # 查看软件包详细信息(版本、描述等)

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

通过 yum list 命令能够列示出当前系统中存在的所有软件包。 由于软件包的数量可能极多,所以我们需要借助 grep 命令,只筛选出我们关注的软件包。 三、yum/apt list installed # 列出所有已安装的软件包

  • 例如yum/apt list installed | grep 软件名

四、yum/apt list available # 列出仓库中可安装的软件包

  • 例如yum/apt list available | grep 软件名
在这里插入图片描述
在这里插入图片描述

二、安装软件

代码语言:javascript
复制
sudo yum/apt install 软件名    # 安装指定软件
sudo yum/apt install -y 软件名 # 自动确认安装(无需手动输入 y)

一、yum/apt install 软件名 # 安装指定软件

  • 使用 yumapt 时,它们会自动检索需要下载的软件包,此时输入 “y” 即可确认安装
  • 当出现 “complete” 字样,或者安装过程中没有报错,就说明安装完成了

二、yum/apt install -y 软件名 # 自动确认安装(无需手动输入 y) 注意事项:

  • 安装软件时,因为要向系统目录写入内容,所以一般需要使用 sudo 命令获取权限,或者切换到 root 用户账户才能完成操作
  • yumapt 安装软件时,同一时间只能安装一个,如果在 yumapt 安装某个软件的过程中,又尝试用它们安装另一个软件,yumapt 会报错

在 Linux 系统中,有不少既有趣又能帮助我们更便捷操作的命令,以下为你介绍一些:

(1)软件:cmatrix

1. cmatrix

  • 作用:能在终端中模拟《黑客帝国》里的数字雨特效,满屏都是下落的绿色字符,科技感十足
  • 安装sudo yum/apt install cmatrix
  • 使用:直接在终端输入 cmatrix 即可启动,按 Ctrl + C 退出
在这里插入图片描述
在这里插入图片描述
(2)软件:cowsay

2. cowsay

  • 作用:可以让一头 “奶牛”(或其他指定的动物形象)说出你指定的话,十分有趣
  • 安装sudo apt install cowsay
  • 使用cowsay "你好呀,Linux",还能通过 -f 参数指定动物形象,比如 cowsay -f tux "我是企鹅"tux 是企鹅形象)
在这里插入图片描述
在这里插入图片描述
(3)软件:fortune

3. fortune

  • 作用:随机输出一句名言、谚语或者笑话,给终端操作增添一些小乐趣
  • 安装sudo apt install fortune
  • 使用:直接在终端输入 fortune 即可
在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
root@VM-16-7-ubuntu:~# fortune
你会通过投机或彩票获得钱财。
root@VM-16-7-ubuntu:~# fortune
《飘》精简版(商标)
         —— 玛格丽特·米切尔
女人只爱她得不到的男人,而南方(地区)总被贬得一文不值。

《麦琪的礼物》精简版(商标)
         —— O·亨利
一对夫妻忘了登记他们想要的礼物。

《老人与海》精简版(商标)
         —— 欧内斯特·海明威
一位老人出海钓鱼,但运气不太好。
root@VM-16-7-ubuntu:~# 
(4)软件:figlet

4. figlet

  • 作用:能将普通文本转换为大型的 ASCII 艺术字,让文字在终端里更具视觉冲击力
  • 安装sudo apt install figlet
  • 使用figlet Hello Linux,会输出由 ASCII 字符组成的 “Hello Linux” 大型艺术字
在这里插入图片描述
在这里插入图片描述
(5)软件:lolcat

5. lolcat

  • 作用:可以为输出的文本添加彩虹色效果,让原本单调的文字变得色彩斑斓
  • 安装sudo apt install lolcat
  • 使用:比如 echo "彩虹文字" | lolcat,就能看到带彩虹色的 “彩虹文字” 输出
在这里插入图片描述
在这里插入图片描述
(6)软件:sl

6. sl

  • 作用:如果在终端误输入 sl(把 ls 打错了),会有一列火车从终端屏幕上驶过,是一个有趣的小彩蛋类命令,也能通过主动安装后使用
  • 安装sudo apt install sl
  • 使用:直接在终端输入 sl 即可看到火车驶过的效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、卸载软件

代码语言:javascript
复制
yum/apt remove 软件名 # 卸载软件(保留配置文件)
yum erase 软件名      # 彻底卸载(删除配置文件)
apt purge 软件名 # 彻底卸载(删除配置文件)

yum/apt remove 软件名 # 卸载软件(保留配置文件)

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

四、更新软件

代码语言:javascript
复制
yum update          # 更新系统所有软件包
    
yum update 软件名    # 仅更新指定软件

/*--------------------------------------------------------*/

apt update 	        # 刷新软件源索引(必须先执行)
apt upgrade 	    # 更新所有已安装软件(不删除旧依赖)
    
apt full-upgrade    # 智能更新(可能删除冲突的旧包)

5. 什么是安装源?

安装源:指的是软件包的存储位置 ,是软件包获取和下载的来源


安装源的类型

  • 官方软件源:操作系统发行商或软件官方团队维护,如:Ubuntu 的官方软件源、CentOS 的官方软件源。
    • 这些源包含经过测试和认证的软件包,与系统兼容性好,稳定性和安全性高
    • 例如,Ubuntu 官方软件源提供了大量常用软件,像办公软件 LibreOffice、浏览器 Firefox 等,用户可以直接通过 apt 命令从官方源安装,确保软件能稳定运行在 Ubuntu 系统上
  • 第三方软件源:由非官方组织、社区或个人维护。
    • 这些源能提供官方源未包含的软件,满足用户多样化需求
    • 比如,EPEL(Extra Packages for Enterprise Linux)是为 RHEL(Red Hat Enterprise Linux)及衍生系统(如:CentOS)提供额外软件包的第三方源,用户可以从中获取一些流行但不在官方源中的开源软件
  • 本地安装源:可以是本地光盘镜像、本地硬盘存储的软件包集合。
    • 在网络环境不佳或出于安全考虑的情况下,将软件包提前下载到本地搭建安装源,方便在局域网内多台机器安装软件,避免重复从网络下载,节省网络流量和时间

安装源的作用

  • 提供软件包:是软件包的集中存放地,用户执行安装命令(如:Ubuntu 中的 apt install 、CentOS 中的 yum install)时,包管理器会从配置好的安装源查找并下载对应的软件包及其依赖项,从而完成软件安装。
    • 例如,当使用 apt install nginx 命令安装 Nginx 服务器时,apt 会从配置的软件源中获取 Nginx 软件包以及它所依赖的其他库文件
  • 软件更新:除了安装软件,安装源还能提供软件的更新版本。
    • 包管理器通过定期更新源的索引信息,对比已安装软件版本和源中最新版本,当执行更新命令(如:apt upgradeyum update)时,就能从安装源下载最新版本的软件包

安装源的配置

  • 配置文件:不同操作系统有各自的安装源配置文件。
    • 在 CentOS 中,软件源配置文件位于 /etc/yum.repos.d/ 目录下,以 .repo 结尾的文件定义了各个软件源的地址、名称等信息
    • 在 Ubuntu 中,软件源配置文件位于 /etc/apt/sources.list 文件中,同时 /etc/apt/sources.list.d/ 目录下以 .list 结尾的文件,也会定义第三方软件源的地址、优先级、适用系统版本等信息
在这里插入图片描述
在这里插入图片描述
  • 添加和管理:用户可以根据需求添加、删除或修改安装源。
    • 在 CentOS 中,可以手动编辑 .repo 文件来添加新的软件源地址
    • 在 Ubuntu 中添加第三方 PPA(Personal Package Archive)源
      • 使用 sudo add-apt-repository ppa:user/ppa-name 命令
      • 然后执行 sudo apt update 更新源索引

---------------代码编辑器---------------

1. 什么是vim?

Vim(全称 Vi IMproved):是一款在 Linux、Unix 及类 Unix 系统(如:Ubuntu、CentOS)中广泛使用的 命令行文本编辑器

  • 它是经典编辑器 Vi 的增强版本,凭借高效轻量可定制性强的特点,成为开发者、系统管理员处理代码、配置文件(如:软件源配置文件、脚本文件)的核心工具之一
  • Vim 的核心特点在于它是一款模态文本编辑器,这与大多数现代编辑器(如:VSCode、Sublime Text 或 Notepad++)有根本性的不同

vim 的核心特点 vim 与图形界面编辑器(如:记事本、VS Code)的最大区别在于 依赖键盘命令操作,无需频繁切换鼠标,熟练使用后能极大提升文本编辑效率,其核心特点包括:

  • 模式化编辑:这是 vim 最独特的设计,不同模式对应不同操作逻辑,避免了 “编辑时误触快捷键” 的问题(后文会详细说明核心模式)
  • 轻量且高效:作为命令行工具,vim 启动速度极快,仅占用少量系统资源,即使在服务器等无图形界面的环境中也能流畅运行
  • 高度可定制:支持通过配置文件(如:~/.vimrc)自定义快捷键、界面样式、插件加载等,能根据个人习惯打造专属编辑环境
  • 跨平台开发:除了类 Unix 系统,vim 也支持 Windows、macOS,操作逻辑统一,跨系统使用无学习成本
  • 功能很强大:内置语法高亮(支持代码、配置文件等)、代码补全、搜索替换、多窗口编辑、宏录制等功能,满足从简单文本修改到复杂代码编写的需求

2. vim的工作模式怎么进行切换?

vim 的 “模式化” 是其核心,新手需先理解不同模式的切换逻辑,否则可能出现 “按键盘没反应” 或 “乱输入” 的情况。


这里我们主要讲解 vim 的三种核心模式(实际上 vim 有很多模式,不过目前掌握这 3 种就可以了),分别是命令模式(command mode)插入模式(Insert mode)底行模式(last line mode),各模式的功能区分如下:

  • 命令模式(Normal mode):可控制屏幕光标的移动,进行字符、字或行的删除操作,还能移动复制某区段内容。
    • 是进入插入模式(Insert mode)或者底行模式(last line mode)的桥梁
  • 插入模式(Insert mode):只有在插入模式下,才可以进行文字输入。
    • 按「ESC」键可回到命令模式,该模式是我们后续使用最频繁的编辑模式
  • 底行模式(last line mode):能执行文件保存或退出操作,也可以进行文件替换、查找字符串、列出行号等操作。
    • 在命令模式下,按下 Shift + ; 即可进入该模式
    • 要是想查看 vim 所有的模式,可以在底行模式下直接输入 :help vim-modes

:实际上,vim一共有 12 种模式:6 种基本模式和 6 种附加模式,常用核心模式有 3 种。

模式名称

核心作用

进入方式

退出 / 切换方式

命令模式

控制光标移动、执行 复制/粘贴/删除 等操作(默认启动模式)

Vim 启动后直接进入或从其他模式按 Esc 键返回

按 i/a/o 等键进入插入模式按 : 进入命令行模式

插入模式

直接输入文本(类似记事本的编辑状态)

普通模式下按 i(光标前插入)、a(光标后插入)、o(新行插入)等

按 Esc 键返回普通模式

底行模式

执行保存、退出、搜索、替换等指令(需输入指令并按回车确认)

普通模式下按 : 键(光标会跳到屏幕底部,等待输入指令)

按 Esc 键返回普通模式

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

3. 新手如何简单使用vim?

以 “编辑一个文本文件 test.txt” 为例,掌握以下步骤即可完成基础操作:

  • 启动vim并打开文件
    • 打开终端,输入命令:vim test.txt # 若文件存在则打开,不存在则新建
    • 启动后默认进入 普通模式,此时无法直接输入文字

  • 进入插入模式编辑文本
    • 在普通模式下按 i 键(屏幕底部会显示 -- INSERT --),此时可像记事本一样输入、修改文字

  • 保存并退出
    • 先按 Esc 键返回 普通模式(底部 -- INSERT -- 消失)
    • :键进入命令行模式,输入以下指令并按回车:
      • w:仅保存文件(不退出)
      • q:仅退出 vim(若文件未保存,会提示 “未保存,无法退出”)
      • wq:保存并退出(最常用)
      • q!:强制退出(不保存修改,慎用)

4. vim的操作有哪些?

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

一、vim命令模式命令集

在 vim 的命令模式(也叫普通模式)下,有丰富的命令集用于高效操作文本,以下是一些常用的命令分类介绍:

(1)光标移动类

一、光标移动类

  • 字符移动
    • h:光标向左移动一个字符
    • l:光标向右移动一个字符
    • j:光标向下移动一行
    • k:光标向上移动一行
在这里插入图片描述
在这里插入图片描述

  • 单词移动
    • w:光标移动到下一个单词的开头(单词由字母、数字、下划线组成,遇到标点符号会停止)
    • b:光标移动到当前单词或上一个单词的开头
    • e:光标移动到当前单词或下一个单词的结尾

  • 行内快速移动
    • 0:将光标移动到当前行的行首(绝对行首,不包括行首的空格,功能类似于home
    • ^:将光标移动到当前行的第一个非空白字符处
    • $:将光标移动到当前行的行尾(功能类似于end

  • 行间移动
    • G:将光标移动到文件的最后一行
    • nG:将光标移动到文件的第 n 行(n 为具体数字,例如:5G 表示移动到第 5 行)
    • gg:将光标移动到文件的第一行
(2)文本删除类

二、文本删除类

  • 删除字符
    • x:删除光标所在位置的字符
    • X:删除光标前一个位置的字符

  • 删除单词
    • dw:删除从光标位置到当前单词结尾的内容(不包括下一个单词)
    • db:删除从光标位置到当前单词开头的内容(包括光标所在字符)

  • 删除行
    • dd:删除光标所在的整行
    • ndd:删除从光标所在行开始的 n 行(n 为具体数字,例如 3dd 表示删除 3 行)
(3)复制粘贴类

三、文本复制粘贴类

  • 复制
    • yy:复制光标所在的整行
    • nyy:复制从光标所在行开始的 n 行(n 为具体数字,例如:2yy 表示复制 2 行)
    • yw:复制从光标所在位置到当前单词结尾的内容(不包括下一个单词)

  • 粘贴
    • p:在光标之后粘贴复制或删除的内容(如果复制或删除的是整行,则粘贴到下一行)
    • P:在光标之前粘贴复制或删除的内容(如果复制或删除的是整行,则粘贴到上一行)
(4)文本修改类

四、文本修改类

  • 替换字符
    • r:替换光标所在位置的字符,输入一个新字符后完成替换,然后回到命令模式
    • R:进入连续替换模式,此时可以不断输入新字符来替换光标所在位置及之后的字符,按 Esc 键退出该模式

  • 修改文本
    • cw:删除从光标所在的位置到当前单词结尾的内容,并进入插入模式,可输入新内容
    • cc:删除光标所在的整行,并进入插入模式
(5)撤销重做类

五、撤销重做类

  • 撤销u,撤销上一次的操作(可以连续使用多次撤销多步操作)
  • 重做Ctrl + r,恢复被撤销的操作
在这里插入图片描述
在这里插入图片描述
(6)其他的命令

六、其他的命令

  • 进入插入模式
    • i:在光标当前位置插入文本,进入插入模式
    • I:在光标所在行的行首插入文本,进入插入模式(如果行首有空格,会跳过空格到第一个非空白字符处插入)

    • a:在光标后一个位置插入文本,进入插入模式
    • A:在光标所在行的行尾插入文本,进入插入模式

  • o:在光标所在行的下方新建一行,并进入插入模式
  • O:在光标所在行的上方新建一行,并进入插入模式

  • 可视化模式
    • v:进入字符可视化模式,通过移动光标可以选中字符
    • V:进入行可视化模式,通过移动光标可以选中整行
    • Ctrl + v:进入块可视化模式,可以选中矩形区域的文本,常用于批量操作多行文本的某一列

二、vim底行模式命令集

vim的底行模式(也叫命令行模式)是通过在命令模式下按 : 进入的(光标会跳到屏幕底部等待输入),主要用于执行文件操作搜索替换配置设置等指令,以下是常用命令集分类介绍:

(1)文件操作的类

一、文件操作的类

  • 保存与退出
    • :w:保存当前文件(不退出 vim)
    • :q:退出 vim(若文件未保存,会提示错误)
    • :wq:x:保存并退出(两者功能一致)
    • :q!:强制退出,不保存任何修改(忽略未保存提示)
    • :w 文件名:另存为指定文件(如::w new.txt 保存为 new.txt)

  • 文件打开与切换
    • :e 文件名:在当前窗口打开指定文件(如::e /etc/hosts 打开系统 hosts 文件)
    • :new 文件名:新建水平分屏并打开指定文件(无文件名则新建空白文件)
    • :vnew 文件名:新建垂直分屏并打开指定文件
在这里插入图片描述
在这里插入图片描述
(2)搜索与替换类

二、搜索与替换类

  • 搜索文本
    • /关键词:从光标所在位置向下搜索 “关键词”(如:/error 搜索 error)
    • ?关键词:从光标所在位置向上搜索 “关键词”(如:?success 向上搜索 success)
    • n:跳转到下一个匹配结果(配合 /? 使用)
    • N:跳转到上一个匹配结果
    • :noh:取消当前搜索的高亮显示(不影响后续搜索)

  • 替换文本
    • :s/旧内容/新内容:替换当前行第一个“旧内容” 为 “新内容”(如::s/hello/hi 替换当前行首个 hello 为 hi)
    • :s/旧内容/新内容/g:替换当前行所有“旧内容” 为 “新内容”(g 表示 global 全局)

    • :%s/旧内容/新内容:替换整个文件中每行第一个 “旧内容”(% 表示整个文件)
    • :%s/旧内容/新内容/g:替换整个文件中所有 “旧内容”(最常用的全局替换)

    • :%s/旧内容/新内容/gc:全局替换时逐处确认(c 表示 confirm,会提示是否替换)
(3)行号与跳转类

三、行号与跳转类

  • 行号显示
    • :set nu:set number:显示行号
    • :set nonu:set nonumber:隐藏行号

  • 快速跳转
    • :n:跳转到第 n 行(如::10 跳转到第 10 行,等价于命令模式的 10G
    • :$:跳转到文件最后一行(等价于命令模式的 G
(4)窗口与分屏类

四、窗口与分屏类

  • 分屏操作
    • :split:sp:水平分屏(上下分割当前窗口)
    • :vsplit:vsp:垂直分屏(左右分割当前窗口)
    • :close:关闭当前分屏窗口
    • :only:关闭其他所有分屏,仅保留当前窗口

  • 分屏切换
    • 先按 Ctrl + w,再按方向键(h/j/k/l):在分屏间切换光标
(5)配置与辅助类

五、配置与辅助类

  • 临时配置(仅当前会话有效)
    • :set autoindent:开启自动缩进(输入换行时自动对齐)
    • :set expandtab:将 Tab 键转换为空格(默认 8 个空格,可配合 :set tabstop=4 设为 4 个)
    • :set hlsearch:开启搜索结果高亮(默认开启,:set nohlsearch 关闭)

  • 其他实用命令
    • :help 命令:查看指定命令的帮助文档(如::help w 查看保存命令说明)
    • :!命令:临时执行外部 Shell 命令(如::!ls 查看当前目录文件,执行完按回车返回 vim)
    • :set paste:进入粘贴模式(避免粘贴代码时格式错乱,结束后用 :set nopaste 关闭)

底行模式的命令通常需要按回车确认执行,执行后自动回到命令模式。 熟练使用这些命令可以极大提升文件管理文本处理的效率,尤其适合批量操作(如:全局替换、分屏编辑)


使用 vim的小技巧(珍藏版)

  • vim file +n:用 vim打开 file 文件并直接跳转到第 n 行(n 为具体行号)
  • !command:在 vim 中执行外部 Shell 命令 command
    • 可根据实际需求替换为其他有效 Shell 命令,用于临时调用系统命令,执行完按回车返回 vim 编辑界面

5. 怎么配置出独一无二的vim?

要配置出独一无二的 vim,可以从 配置文件修改插件安装与定制方面入手,以下是具体介绍:

一、修改配置

一、配置文件修改

  • /etc/ 目录下,存在一个名为 vimrc 的文件,它是系统级的公共 vim 配置文件,对所有用户都有效,通过编辑这个文件,可以设置 vim的各种基础属性和偏好
  • 每个用户在自己的主目录下,都可以创建私有的 vim 配置文件,命名为 .vimrc
    • 例如:/root 目录下,通常已经有一个 .vimrc 文件,若不存在,可自行创建
  • 切换到自己的用户(执行 su 用户名,若切换到当前登录用户对应的主目录,也可直接执行 cd ~),进入自己的主目录
  • 要打开自己主目录下的 .vimrc 文件,执行 vim .vimrc 命令即可

  • 设置显示选项
    • 显示行号添加 set numberset nu,就能在 vim 编辑界面显示行号,方便定位和查看代码行数
在这里插入图片描述
在这里插入图片描述
  • 显示光标位置添加 set ruler,在状态栏会实时显示光标所在的行号和列号,在处理大文件或进行精确编辑时很有用
  • 设置语法高亮添加 syntax on,开启语法高亮功能,vim会根据文件类型对代码进行不同颜色的显示,提高代码可读性

  • 调整缩进设置
    • 设置制表符宽度添加 set tabstop=4,将制表符(Tab 键)的宽度设置为 4 个空格,这是很多编程语言推荐的缩进宽度
    • 使用空格代替制表符添加 set expandtab,这样在按下 Tab 键时,vim 会自动插入相应数量的空格,而不是制表符,有助于保持代码格式在不同编辑器中的一致性
    • 开启自动缩进添加 set autoindentset ai,使新输入的行自动和上一行保持相同的缩进,在编写代码或结构化文本时非常方便

二、安装插件

一、插件合集安装 虽然vim本身功能强大,但通过合理的配置和插件扩展,它可以变身成为一个完整的IDE。 这里为大家介绍的ma6174/vim仓库提供了一套经过精心调校的vim配置方案: GitHub 仓库的链接ma6174/vim: vim配置文件和插件(不再维护)


(一)安装方法

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

(二)安装流程

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

温馨提示:如果使用的Linux是Centos7 x86_64,也可以尝试下面的这个“一键式vim环境安装包”,快速配置,一键上手。 VimForCpp: 快速将vim打造成c++ IDE

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言:
  • ---------------软件包管理器---------------
  • 1. 什么是软件包?
  • 2. 什么是软件包管理器?
  • 3. 什么是镜像?
  • ---------------
  • 4. yum/apt的具体操作有哪些?
    • 一、查询软件
    • 二、安装软件
      • (1)软件:cmatrix
      • (2)软件:cowsay
      • (3)软件:fortune
      • (4)软件:figlet
      • (5)软件:lolcat
      • (6)软件:sl
    • 三、卸载软件
    • 四、更新软件
  • 5. 什么是安装源?
  • ---------------代码编辑器---------------
  • 1. 什么是vim?
  • 2. vim的工作模式怎么进行切换?
  • 3. 新手如何简单使用vim?
  • 4. vim的操作有哪些?
    • 一、vim命令模式命令集
      • (1)光标移动类
      • (2)文本删除类
      • (3)复制粘贴类
      • (4)文本修改类
      • (5)撤销重做类
      • (6)其他的命令
    • 二、vim底行模式命令集
      • (1)文件操作的类
      • (2)搜索与替换类
      • (3)行号与跳转类
      • (4)窗口与分屏类
      • (5)配置与辅助类
  • 5. 怎么配置出独一无二的vim?
    • 一、修改配置
    • 二、安装插件
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档