【Linux工具】yum软件包管理器与Vim编辑器的高效运用

目录

[Linux 软件包管理器 YUM](#Linux 软件包管理器 YUM)

什么是软件包

[安装工具 rzsz 及注意事项](#安装工具 rzsz 及注意事项)

查看软件包

安装和卸载软件

安装软件

卸载软件

[Linux 开发工具](#Linux 开发工具)

[编辑器 - Vim 使用](#编辑器 - Vim 使用)

​编辑

[Vim 与 Vi 的区别](#Vim 与 Vi 的区别)

[Vim 的基本概念](#Vim 的基本概念)

三种模式

[Vim 的基本操作](#Vim 的基本操作)

操作尝试:

[Vim 命令集解释](#Vim 命令集解释)

插入模式

[移动光标 (文本gg& (n)G ,行 $ & ^ , 字符hjkl)](#移动光标 (文本gg& (n)G ,行 $ & ^ , 字符hjkl))

[删除(x & dd)](#删除(x & dd))

复制与粘贴(yy&p)

​编辑

[修改和替换(shift~ & r & nr)](#修改和替换(shift~ & r & nr))

[Vim 末行模式命令集](#Vim 末行模式命令集)

[Vim 操作总结](#Vim 操作总结)

[vim 常用配置:](#vim 常用配置:)

懒人一键配置

sum


文章手稿见文末~

Linux 软件包管理器 YUM

什么是软件包

在 Linux 下安装软件,通常的方法是下载程序的源代码并进行编译,得到可执行程序。然而,这样太麻烦了,于是有人将一些常用的软件提前编译好,做成软件包(类似于 Windows 上的安装程序),放在一个服务器上。通过包管理器,可以方便地获取并安装这些软件包。

  • 软件包和软件包管理器的关系:就像 "App" 和 "应用商店"。
  • YUM (Yellow dog Updater, Modified) 是 Linux 下非常常用的一种包管理器,主要用于 Fedora、RedHat、CentOS 等发行版。
  • Centos 7Centos 7 中安装软件分为三种方式: ①源码安装rpm 包安装yum 安装

yum 安装的好处显而易见,不用编译源码,且不用解决软件的依赖关系。

接下来可以试着来安装一款软件

yum install sl

安装完成后输入,就可以看见一个小火车啦~

Linux 下我们可以通过 yum list 指令去执行类似于手机应用市场的 "软件推荐" 功能:

tip:

不是国内的,或者发现安装软件特别慢,建议大家更新一下 yum 源。

🔍**百度搜索:**Centos7 如何设置国内 yum 源。

安装工具 rzsz 及注意事项

该工具用于 Windows 机器和远端的 Linux 机器通过 XShell 传输文件,安装后可以拖拽文件进行上传。

  • 安装命令

    sudo yum install rzsz
    
  • 注意事项

    • YUM 的所有操作必须保证主机(虚拟机)网络畅通,可以通过 ping 指令验证,如 ping www.baidu.com

查看软件包

通过 yum list 命令可以罗列出当前有哪些软件包。由于包的数目可能非常多,我们可以使用 grep 命令筛选出所关注的包。例如:

yum list | grep lrzsz

结果示例:

包名 版本
lrzsz.x86_64 0.12.20-36.el7 @base

注意事项:

  • 软件包名称结构 :
    • 前缀 :如 x86_64 表示 64 位系统安装包,i686 表示 32 位系统安装包。
    • 版本号 :如 el7 表示 CentOS 7/RedHat 7,el6 表示 CentOS 6/RedHat 6。
    • 来源 :如 base 表示软件源的名称。

安装和卸载软件

安装软件

sudo yum install [软件包名称]

YUM 会自动找到软件包并下载。输入 y 确认安装,出现 "complete" 字样表示安装完成。

注意事项

  • 安装软件需写入系统目录,通常需要 sudo 或切换到 root 用户。
  • YUM 安装软件只能一个接一个安装,不能并行。

卸载软件

sudo yum remove [软件包名称]

Linux 开发工具

编辑器 - Vim 使用

安装一下

yum install -y vim

Vim 与 Vi 的区别
  • VimVi 的升级版本,兼容 Vi 的所有指令并添加了新特性。
  • 可以在终端、X Window、Mac OS、Windows 下运行。

Vim 的基本概念

三种模式
模式名称 Description
命令模式 控制光标移动,删除、复制、进入插入模式或底行模式
插入模式 输入文字,按 ESC 返回命令模式
底行模式 保存、退出、替换、查找、显示行号等操作

可以借助下面的图解,对模式的切换进行记忆~

查看所有模式

:help vim-modes
Vim 的基本操作
  • 进入 Vim

    vim [文件名]
    
  • 切换模式

操作 说明
正常模式 -> 插入模式 aio
插入模式 -> 正常模式 ESC
正常模式 -> 底行模式 :
  • 保存与退出
命令 说明
:w 保存当前文件
:wq 保存并退出
:q! 不保存强制退出
操作尝试:

最简单的命令行输入步骤

Vim 命令集解释

sum:

插入模式
命令 说明
i 从光标当前位置开始插入
a 从光标位置的下一个位置开始插入
o 在光标位置的下一行插入新行
ESC 从插入模式返回正常模式
移动光标 (文本gg& (n)G ,行 $ & ^ , 字符hjkl)
命令 说明
h / j / k / l 左 / 下 / 上 / 右移一格
G 移动到文件最后
$ 移动到行尾
^ 移动到行首
w 光标跳到下一个词的开头
e 光标跳到下一个词的词尾
b 光标回到前一个词的开头
#l 光标移到该行的第#个位置
gg 移动到文件开始
Shift + G 移动到文件末端
Ctrl + b 屏幕往"后"移动一页
Ctrl + f 屏幕往"前"移动一页
Ctrl + u 屏幕往"后"移动半页
Ctrl + d 屏幕往"前"移动半页

关于 hjkl记忆小技巧

删除(x & dd)
命令 说明
#x 删除光标所在位置的"后面"#个字符
#dd 从光标所在行开始删除#行
复制与粘贴(yy&p)
命令 说明
#yy 复制光标所在行及之后的#行
p 将缓冲区内的字符粘贴到光标所在位置,和dd实现剪切复制

| ##### 修改和替换(shift~ & r & nr) |------------|-------------------| | 指令 | 操作 | | shift + ~ | 大小写快速切换 | | r | 替换光标所在位置的字符 | | [n] r | 替换光标所在位置开始的 n 个字符 | |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| |

撤销(u&ctrl+r

命令 说明
u 撤销上一次操作
Ctrl + r 撤销的恢复
Vim 末行模式命令集
  • 列出行号set nu
  • 跳到文件中的某一行 :在冒号后输入行号,如 :15 跳到第 15 行。
  • 查找字符
命令 说明
/关键字 从当前光标位置向后查找关键字
?关键字 从当前光标位置向前查找关键字
n 查找下一个匹配结果
  • 保存文件与退出
命令 说明
:w 保存当前文件
:q! 不保存强制退出
:wq 保存并退出
Vim 操作总结
  • 三种模式:正常模式、插入模式、底行模式。
  • 配置文件
    • 系统级配置文件:/etc/vimrc
    • 用户级配置文件:~/.vimrc

vim 常用配置

syntax on            # 设置语法高亮
set nu               # 显示行号
set shiftwidth=4     # 设置缩进的空格数为4
懒人一键配置

直接无脑复制下面的文字,shift+insert 粘贴到命令行:

curl -sLf https://gitee.com/HGtz2222/VimForCpp/raw/master/install.sh -o ./install.sh &&bash ./install.sh

回车就可以安装好一个简易的环境啦~

sum

相关推荐
玩电脑的辣条哥2 小时前
Python如何播放本地音乐并在web页面播放
开发语言·前端·python
垚垚 Securify 前沿站2 小时前
深入了解 AppScan 工具的使用:筑牢 Web 应用安全防线
运维·前端·网络·安全·web安全·系统安全
CSDN_PBB3 小时前
[STM32 - 野火] - - - 固件库学习笔记 - - - 十五.设置FLASH的读写保护及解除
笔记·stm32·学习
安於宿命4 小时前
【Linux】进程间通信——进程池
linux·c++
ll7788114 小时前
LeetCode每日精进:20.有效的括号
c语言·开发语言·算法·leetcode·职场和发展
新兴ICT项目支撑5 小时前
天翼云910B部署DeepSeek蒸馏70B LLaMA模型实践总结
linux·运维·服务器·910b·天翼云·deepseek r1
gold20085 小时前
php5 php8 nginx Access denied.
运维·nginx·php8·php-fpm
Yuanymoon5 小时前
Docker 修改配置后无法启动问题
运维·docker·容器
Jackson@ML6 小时前
Python数据可视化简介
开发语言·python·数据可视化
赵琳琅6 小时前
Java语言的云计算
开发语言·后端·golang