Linux软件包管理与Vim编辑器指南

news/2025/3/13 17:47:51/

在这里插入图片描述

一、Linux软件包管理
1. 什么是软件包?

在Linux下安装软件,一种常见的方法是下载程序的源代码,并进行编译,得到可执行程序。然而,这种方法既耗时又繁琐。为了方便,人们将一些常用的软件提前编译好,做成软件包,存放在服务器上。通过包管理器,用户可以方便地获取这些编译好的软件包,直接进行安装

2. 软件包和软件包管理器

软件包和软件包管理器之间的关系,类似于“App”和“应用商店”。Linux中有多种软件包管理器,yum是其中非常常用的一种。

  • yum(Yellow dog Updater, Modified):主要应用于Fedora、RedHat、CentOS等发行版。
3. yum的使用
注意事项
  • 使用yum的所有操作必须保证主机(虚拟机)网络畅通,可以通过ping命令验证。
查看软件包

使用yum list命令可以罗列出当前可用的软件包。由于包的数量可能非常多,可以使用grep命令筛选关注的包。

bash复制代码yum list | grep lrzsz

输出示例:

复制代码lrzsz.x86_64 0.12.20-36.el7 @base

软件包名称解释:

  • lrzsz:软件包名称
  • 0.12.20:主版本号
  • 36.el7:次版本号.源程序发行号-软件包的发行号
  • x86_64:主机平台.CPU架构(64位系统安装包)
  • base:软件源名称
安装软件

使用yum install命令安装软件,例如安装gcc

bash复制代码sudo yum install gcc

yum会自动找到并下载所有依赖的软件包,确认安装后敲“y”。

卸载软件

使用yum remove命令卸载软件,例如卸载lrzsz

bash复制代码sudo yum remove lrzsz

注意:安装软件时需要向系统目录中写入内容,一般需要sudo权限或切换到root账户。

切换软件源

切换软件源本质上是更改配置文件。例如,将CentOS 7的yum镜像源切换到163镜像源:

操作清单:

  1. 备份原配置文件:
bash复制代码sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 下载新的配置文件:
bash复制代码sudo wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
  1. 清理yum缓存并更新:
sudo yum clean all
sudo yum makecache
二、Linux编辑器——Vim

Vim是一个强大的文本编辑器,广泛用于编写和修改配置文件。Vim有多种模式,下面介绍三种核心模式:

在这里插入图片描述

1. Vim的三种模式
  • 命令模式(Command Mode):控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入插入模式或底行模式。
  • 插入模式(Insert Mode):只有在此模式下,才可以进行文字输入。按ESC键可回到命令模式。
  • 底行模式(Last Line Mode):文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。在命令模式下,按Shift + :即可进入该模式。
2. Vim的基本操作

在这里插入图片描述

进入Vim
bash复制代码vim test.c

进入Vim后,默认处于命令模式。

模式切换
  • 命令模式切换到插入模式
    • i:在当前光标位置开始插入。
    • a:在当前光标位置的下一个字符开始插入。
    • o:在当前行的下一行开始插入。
  • 插入模式切换到命令模式:按ESC键。
  • 命令模式切换到底行模式:按Shift + :
移动光标
  • h:光标左移一格。
  • j:光标下移一格。
  • k:光标上移一格。
  • l:光标右移一格。
  • G:移动到文章最后。
  • $:移动到光标所在行的行尾。
  • ^:移动到光标所在行的行首。
  • w:光标跳到下一个字的开头。
  • e:光标跳到下一个字的字尾。
  • b:光标回到上一个字的开头。
  • gg:移动到文本开始。
  • Shift + G:移动到文本末端。
  • Ctrl + b:屏幕往后移动一页。
  • Ctrl + f:屏幕往前移动一页。
  • Ctrl + u:屏幕往后移动半页。
  • Ctrl + d:屏幕往前移动半页。
删除文字
  • x:删除光标所在位置的一个字符。
  • #x:例如6x,表示删除光标所在位置的后面6个字符。
  • X:删除光标所在位置的前一个字符。
  • #X:例如20X,表示删除光标所在位置的前面20个字符。
  • dd:删除光标所在行。
  • #dd:从光标所在行开始删除#行。
复制与粘贴
  • yw:将光标所在之处到字尾的字符复制到缓冲区中。
  • #yw:复制#个字到缓冲区。
  • yy:复制光标所在行到缓冲区。
  • #yy:例如6yy,表示拷贝从光标所在的该行往下数6行文字。
  • p:将缓冲区内的字符贴到光标所在位置。
替换
  • r:替换光标所在处的字符。
  • R:替换光标所到之处的字符,直到按下ESC键为止。
撤销与重做
  • u:撤销上一次操作。
  • Ctrl + r:撤销的恢复更改。
查找与替换
  • /关键字:从当前光标位置向后查找。
  • ?关键字:从当前光标位置向前查找。
末行模式命令集
  • set nu:在文件中的每一行前面列出行号。
  • #G:例如15G,表示移动光标至文章的第15行行首。
  • :w:保存当前文件。
  • :wq:保存并退出Vim。
  • :q!:不保存强制退出Vim。
批量化注释
  • 批量注释(适用于 C/Java/JS 等语言)
    • 块选择模式:Ctrl + v 进入可视块模式
    • 选择行范围:用 j/k 10j(向下选10行)快速选中多
    • 插入注释符:按 Shift + i 进入插入模式
      输入注释符:输入 //(不同语言可能用 # 或 ")
      生效操作:按 Esc(需等待 1-2 秒,Vim 会将操作应用到所有选中行)

注意:若操作后只有首行被注释,说明未正确退出插入模式,需确保按 Esc 后看到所有行同步变化

  • 批量去注释(需精确列选择)
    • 块选择模式:Ctrl + v
    • 精准选中注释符:用l h 横向移动光标,确保只选中注释符(如 //
    • 删除操作:按d x(若选中单列)

注意:若注释前有不定量空格,建议先用:left命令对齐代码,或用正则替换更高效

文件级别的对比:vs
光标在两个屏幕终端之间进行移动:ctrl +ww
3. Vim配置

Vim的配置文件位于/etc/vimrc(公共配置文件)和用户主目录下的.vimrc(私有配置文件)。

常用配置选项
  • syntax on:启用语法高亮。
  • set nu:显示行号。
  • set shiftwidth=4:设置缩进的空格数为4。
插件安装
  • TagList插件:提供代码标签的浏览功能。
  • WinManager插件:提供文件浏览器和窗口管理器功能。

安装插件步骤:

  1. 下载并解压插件。
  2. 将解压后的doc目录内容放到~/.vim/doc
  3. 将解压后的plugin目录内容放到~/.vim/plugin
  4. ~/.vimrc中添加相应的配置。

例如,安装TagList插件后,在~/.vimrc中添加:

vim">let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let Tlist_Use_Right_Window=1

安装WinManager插件后,在~/.vimrc中添加:

vim">let g:winManagerWindowLayout='FileExplorer|TagList'
nmap wm :WMToggle<cr>

重启Vim后,在命令模式下输入wm即可看到效果。

三、总结
  • 软件包管理:Linux下使用yum可以方便地管理软件包,包括安装、卸载和更新。
  • Vim编辑器:Vim是一个强大的文本编辑器,掌握其基本操作和配置可以大大提高编辑效率。

最后,要说的是我们在学习和使用 Linux 软件包管理器及编辑器时,要多进行实践操作,熟悉各个命令的使用方法。同时,可参考相关书籍和在线资源,不断拓展知识面,提高操作技能。
在这里插入图片描述


http://www.ppmy.cn/news/1578844.html

相关文章

仅仅使用pytorch来手撕transformer架构(3):编码器模块和编码器类的实现和向前传播

仅仅使用pytorch来手撕transformer架构(2)&#xff1a;编码器模块和编码器类的实现和向前传播 往期文章&#xff1a; 仅仅使用pytorch来手撕transformer架构(1)&#xff1a;位置编码的类的实现和向前传播 最适合小白入门的Transformer介绍 仅仅使用pytorch来手撕transformer…

wordpress禁止用户在不同地点同时登录

wordpress禁止用户在不同地点同时登录&#xff0c;管理员除外。 function pcl_user_has_concurrent_sessions() {return (is_user_logged_in() && count(wp_get_all_sessions()) > 2); }add_action("init", function () {// 除了管理员&#xff0c;其他人…

C语言_数据结构总结7:顺序队列(循环队列)

纯C语言实现&#xff0c;不涉及C 队列 简称队&#xff0c;也是一种操作受限的线性表。只允许表的一端进行插入&#xff0c;表的另一端进行删除 特性&#xff1a;先进先出 针对顺序队列存在的“假溢出”问题&#xff0c;引出的循环队列概念。 循环队列 将顺序队列臆造为一个…

【git】 贮藏 stash

贮藏是我在sourcetree上看到的名词。之前只是浅浅的用来收藏一下修改的文件&#xff0c;没有完整的使用过。今天有幸使用了一次就来展开说说。 使用原因就不赘述了&#xff0c;错误的操作少提为好&#xff0c;操作步骤如下&#xff1a; 查看贮藏列表git stash list #输出&…

机器学习(吴恩达)

一, 机器学习 机器学习定义: 计算机能够在没有明确的编程情况下学习 特征: 特征是描述样本的属性或变量&#xff0c;是模型用来学习和预测的基础。如: 房屋面积, 地理位置 标签: 监督学习中需要预测的目标变量&#xff0c;是模型的输出目标。如: 房屋价格 样本: 如: {面积100㎡…

OpenCV开发笔记(八十三):图像remap实现哈哈镜效果

若该文为原创文章&#xff0c;转载请注明原文出处 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/146213444 长沙红胖子Qt&#xff08;长沙创微智科&#xff09;博文大全&#xff1a;开发技术集合&#xff08;包含Qt实用技术、树莓派、三维、OpenCV…

Windows CMD 命令大全(综合开发整理版)

CMD Windows CMD 命令大全(综合整理版)基础操作与文件管理类系统维护与配置类网络与连接类开发者常用命令CMD 黑窗口使用技巧1. **效率操作**2. **高级功能**3. **开发者高效技巧**注意事项**微软官方文档****其他实用资源****如何高效使用官方文档**Windows CMD 命令大全(综…

云效、流水线、Gradle缓存问题、build.gradle配置snapshot

云效 大部分研发者们或许都听说过阿里云云效&#xff0c;甚至有不少使用经验&#xff1b;但是几乎很少有人会关注过云效的&#xff08;子&#xff09;域名&#xff1a; 如上图&#xff0c;云效的定位&#xff08;愿景&#xff09;就是为研发者们提供一站式的团队协作、效能提…