【Linux工具】环境基石:软件包管理器 yum 与 Vim 编辑器详解

摘要: 在 Linux 开发中,高效地安装软件和编辑代码是第一步。本文详细介绍了 Linux 下的"应用商店" yum/apt 的使用方法,以及"编辑器之神" Vim 的三种核心模式与常用指令配置,助你快速搭建开发环境。

一、 Linux 软件包管理器

1.1 什么是软件包?

在 Linux 下安装软件,通常有下载源码编译和使用软件包管理器两种方式。软件包管理器(Package Manager)就好比手机上的"应用商店",它将常用的软件提前编译好放在服务器上,用户可以通过简单的命令一键获取、安装、解决依赖。
CentOS/RedHat: 使用 yum。
Ubuntu/Debian: 使用 apt (Advanced Package Tool) 。

1.2 Linux 软件生态

Linux 的软件生态基于开源社区。为了提高下载速度,国内通常会使用镜像源(如阿里云、清华源、中科大源等)替代官方源 。

基本源 (Base):包含系统运行所需的基础软件。

扩展源 (EPEL):包含更多非官方但常用的软件。如果 yum 找不到某些包,建议安装 EPEL 源:sudo yum install -y epel-release 。

1.3 yum/apt 常用操作

操作 CentOS (yum) Ubuntu (apt) 说明
搜索 `yum list grep <软件名>` apt search <软件名>
安装 sudo yum install -y <软件名> sudo apt install -y <软件名> -y 表示自动确认安装
卸载 sudo yum remove <软件名> sudo apt remove <软件名> 卸载软件

注意事项:

安装软件通常需要 sudo 或 root 权限 。

必须保证网络畅通(可通过 ping www.baidu.com 测试)。

yum/apt 同一时间只能运行一个安装进程 。

二、 Linux 编辑器:Vim

Vim 是 Vi 的升级版,兼容所有 Vi 指令,支持语法高亮和多系统运行 。掌握 Vim 是 Linux 开发者的基本功。

2.1 🕹️ Vim 的三种核心模式

Vim 有多种模式,初学者请重点掌握以下三种:

  • 🚀 命令模式 (Normal Mode):默认模式。用于控制光标移动、删除、复制粘贴。
  • 📝 插入模式 (Insert Mode) :用于输入文字。按 i 进入,按 Esc 退出。
  • ⚙️ 底行模式 (Last Line Mode) :用于保存、退出、查找。在命令模式下按 Shift + : 进入。

2.2 ⚡ 核心指令速查表

(1) 🔄 模式切换

  • 进入插入模式
    • i :从光标当前位置开始输入
    • a :从光标后一个位置开始输入
    • o :在当前行下方新开一行输入
  • 进入底行模式Shift + :
  • 回到命令模式 :无脑按 Esc

(2) 📍 光标移动 (命令模式)

  • 基本移动h (左) / j (下) / k (上) / l (右)
  • 行内跳转^ (行首) / $ (行尾)
  • 全文跳转gg (文首) / G (文末) / nG (跳转到第 n 行)
  • 单词跳转w (下个字头) / b (上个字头)

(3) 🛠️ 文本操作 (命令模式)

  • 复制 (Yank)yy (复制当前行) / nyy (复制 n 行)
  • 粘贴 (Paste)p (粘贴到光标后)
  • 删除 (Delete)dd (剪切当前行) / ndd (剪切 n 行)
  • 撤销 (Undo)u (撤销上一步) / Ctrl + r (恢复撤销)
  • 字符操作x (删除光标处字符) / r (替换光标处字符)

(4) 💾 底行模式操作

💡 提示:需先按 : 进入底行模式

  • 基本命令w (保存) / q (退出) / wq (保存并退出)
  • 强制操作q! (强制退出不保存)
  • 辅助功能set nu (显示行号)
  • 搜索/关键字 (向下搜索,按 n 查找下一个)

2.3 🔧 简单 Vim 配置

Vim 的配置文件位于用户家目录下的 ~/.vimrc。你可以添加以下配置让 Vim 更顺手:

vim 复制代码
syntax on           " 开启语法高亮
set nu              " 显示行号
set shiftwidth=4    " 设置缩进为4个空格
相关推荐
凡人叶枫7 分钟前
Effective C++ 条款24:若所有参数皆须要类型转换,请为此采用 non-member 函数
linux·前端·c++·算法·嵌入式开发
零陵上将军_xdr11 分钟前
Shell流程控制:if/case/for/while让脚本活起来
linux·运维·服务器
坤昱18 分钟前
cfs调度类深入解刨——pelt细节篇
linux·linux内核·cfs调度·eevdf·cfs调度类深入解刨·pelt·pelt细节篇
故渊at33 分钟前
第十二板块:Android 系统启动与初始化 | 第二十九篇:Init 进程、RC 脚本与属性服务(Property Service)
android·linux·内存映射·权限控制·init进程·rc脚本·属性服务
xiaoshuaishuai838 分钟前
C# 定制化Markdown编辑器
开发语言·c#·编辑器
某林2121 小时前
ROS2 并行编译死锁与 Linux 后台声卡/提权踩坑实录:大型轮足机器人架构复盘
linux·架构·机器人·iassc
无足鸟ICT1 小时前
【RHCA+】末行模式
linux
拼搏的小浣熊1 小时前
【通用教程】Windows\+Linux\+银河麒麟系统 固定静态IP地址|解决打印机扫描IP变动、网络掉线问题
linux·网络·windows·麒麟·固定ip·麒麟系统·统信系统
小生不才yz1 小时前
Shell脚本精读 · S02-02 | 转义、续行与注释
linux
zzqssliu1 小时前
Next.js图片自适应压缩:跨境站点图片加载提速代码方案
linux·javascript·ubuntu