【Linux开发工具】包管理器yum和文本编辑器vim

news/2025/2/8 15:45:38/

目录

一、前言

二、Linux中的软件商店yum

1.三种安装软件的方式

2.yum的使用方法

vim-toc" name="tableOfContents" style="margin-left:0px">三、Linux中的编辑器vim

vim%E7%9A%84%E4%B8%89%E7%A7%8D%E6%A8%A1%E5%BC%8F%E5%8F%8A%E5%88%87%E6%8D%A2-toc" name="tableOfContents" style="margin-left:40px">1.vim的三种模式及切换

 2.命令模式详解

3.底行模式详解

4.替换模式

5.视图模式

vim%E4%B8%8B%E7%9A%84%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%93%8D%E4%BD%9C-toc" name="tableOfContents" style="margin-left:40px">6.vim下的多线程操作

vim%E7%9A%84%E9%85%8D%E7%BD%AE-toc" name="tableOfContents" style="margin-left:40px">7.vim的配置

四、总结


一、前言

在初步认识了Linux的基本操作指令和权限知识后,接下来学习Linux下经常使用的开发工具,分为yum和vim、gcc和g++、makefile和git三大部分,本文章是介绍yum和vim的。

本文介绍了如何使用yum安装和卸载软件,并讲解vim的三大模式和切换方式,涉及的指令数目较多,但这些都是方便代码编写的必需手段,需在更多的实践中加强掌握。


二、Linux中的软件商店yum

1.三种安装软件的方式

在Linux中安装软件,主要有三种方式,分别是:源码安装、RPM软件包安装和YUM包管理器。它们各有优缺点,适用于不同场景:

这里我们学习的就是最简单直接的YUM包管理器,它其实相当于我们手机上经常使用的APP STORE(应用商店),YUM包管理器会自动帮我们解决包的依赖问题,但需要联网。


2.yum的使用方法

指令:yum list 用来查看一共有哪些安装包

指令:yum list | grep 关键字 用来搜索关键字

指令:yum install 安装的软件包名 用来安装软件包

指令:yum remove 卸载的软件名 用来卸载软件

注意:yum下载时往往会往系统目录写入内容,一般需要sudo或切换到root账号才能下载,卸载也是一样。


vim" name="%E4%B8%89%E3%80%81Linux%E4%B8%AD%E7%9A%84%E7%BC%96%E8%BE%91%E5%99%A8vim">三、Linux中的编辑器vim

vim%E7%9A%84%E4%B8%89%E7%A7%8D%E6%A8%A1%E5%BC%8F%E5%8F%8A%E5%88%87%E6%8D%A2" name="1.vim%E7%9A%84%E4%B8%89%E7%A7%8D%E6%A8%A1%E5%BC%8F%E5%8F%8A%E5%88%87%E6%8D%A2">1.vim的三种模式及切换

vim本质就是文本编辑器,就像windows中的写字板一样。但vim不像windows上写字板一样具有很多图形化界面,在vim中编辑文字主要是靠键盘,如何仅靠键盘就能进行高效的文字编辑呢?这和vim的三大模式及其切换有关。

首先我们试着创建一个.c为后缀的用C语言编写的文件,然后直接使用vim 编辑的文件名 来进入vim编辑界面。

vim进入文本编辑后默认是命令模式,左下角写有NORMAL字样。

此时还无法输入内容,需要切换到插入模式(INSERT)才能输入内容,而从命令模式切换到插入模式,可以按i,o,a三个键中的一个,i默认定位到光标处,o默认定位到光标的下一列开头,a默认定位到光标的下一个位置。内容写入完毕后用ESC键回到命令模式。

若此时想要保存并退出,需要切换到底行模式(COMMAND),用shift + ; 组合键切换,然后输入wq来退出。大致上,vim编写常用的三种模式就是这三个,它们的关系如下图:

 三种模式各司其职,共同配合来达成高效编辑文本的功能:

  • 命令模式(NORMAL):控制屏幕光标的移动,字符或行的删除,移动复制某区段等
  • 插入模式(INSERT):文字输入
  • 底行模式(COMMAND):文件保存或退出、查找字符串、列出行号等

 2.命令模式详解

命令模式下所有的操作都是在高效地移动光标,这些快捷操作都和移动光标有关:

输入 gg :定位至代码的第一行

输入 shift + g :定位至代码的最后一行

输入 n + shift + g :定位至代码的第n行

输入 shift + 6(^):定位至该行的开始

输入 shift + 4($):定位至该行的结束

光标的上下左右移动:可以使用键盘的上下左右键,但vim诞生早期的键盘是没有这四个键的,那时就是用hjkl来替代

  • h键:左移
  • j键:下移
  • k:上移
  • l:右移

注:使用 w 和 b 可以一次性跳过/回退一整个单词

学习以上命令就可以高效地移动光标了,但高效移动光标是为了什么,难道只是为了给输入模式定个好的起点吗?当然不仅仅是这样,能够高效移动光标就是辅助我们进行 复制粘贴剪切 等操作。

输入 yy 或 n + yy :复制当前行或从当前开始的n行

输入 p 或 n + pp :粘贴内容到当前行或粘贴n次

输入 u :撤销上一步的操作

输入 CTRL + r :撤销上一步的撤销

输入 dd 或 n + dd :删除当前行或从当前开始的n行

输入 n + x / X :向后/前 删除n个字符


3.底行模式详解

切换到底行模式后,左下角会有一个冒号:  此时就进入了底行模式,在底行模式下我们可以使用一些方便我们进行文本编辑的功能:

输入 set nu :设置行号

输入 set nonu :取消行号

输入 wq :保存并退出

  • w 保存当前文件
  • w! 强制保存
  • q 退出
  • q! 强制退出
  • wq!  保存并强制退出

输入 /关键字 :查找字符,输入的关键字会高亮标出,按n键跳到下一个关键字处

输入 man 关键字 :查阅字典


4.替换模式

除了上述介绍了三种模式,替换模式也是我们比较常用的模式之一。在有的时候我们不想删除代码也不想添加代码,只是单纯地想在原先代码的基础上进行修改,比如将某个字符修改为其他字符,此时我们可以进入替换模式,此时所有的输入都会当作替代。

输入 shift + r 切换到替换模式

按ESC键回到命令模式


5.视图模式

我们在用vs时想要注释掉一块代码十分容易,只需要选中所有代码然后使用快捷键即可,但在Linux中没有图形化界面那么该如何选中代码呢,这就需要视图模式来帮助我们注释。

输入 CTRL + v 切换到视图模式

注释的方法:使用hjkl键控制上下左右,选择要注释的行的开头,然后按shift + i 进入插入模式输入// ,随后退出插入模式就会发现选中的所有行的开头都有// ,也就是都被注释了。


取消注释的方法:同样按照hjkl键选中要操作的区域,注意要选两列,因为//占两列,选中后直接按d键即可删除。

vim%E4%B8%8B%E7%9A%84%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%93%8D%E4%BD%9C" name="6.vim%E4%B8%8B%E7%9A%84%E5%A4%9A%E7%BA%BF%E7%A8%8B%E6%93%8D%E4%BD%9C">6.vim下的多线程操作

vim文本编辑器可以同时打开多个文件,在底行模式下输入vs 打开的文件名 即可打开另一个文件。

文件可以同时打开多个,但光标只有一个,光标在哪就在编辑哪个文件,直接在命令模式下输入

CRTL + ww 就能将光标切换到另一个文件。

vim%E7%9A%84%E9%85%8D%E7%BD%AE" name="7.vim%E7%9A%84%E9%85%8D%E7%BD%AE">7.vim的配置

要想让vim成为真正的c/c++代码编辑器,自动换行、缩进、括号补齐等功能是必不可少的,这里直接给出一个配置方案,一键配置:


四、总结

Linux下用vim进行高效编程是必不可少的技能,需要熟悉的技能很多,需要在今后的操作中加深印象,大概有这些常用的指令:

shift + i
shift + ;
shift + r
CRTL + v
CRTL + ww
yy,dd,p,u
vs [filename]
...


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

相关文章

windows11上,使用pipx安装Poetry,Poetry的安装路径是什么?

当使用 pipx 安装 Poetry 时,pipx 会将 Poetry 安装到一个独立的虚拟环境中,并将其可执行文件链接到一个集中的目录中。以下是 pipx 安装 Poetry 时的路径信息: 1. Poetry 的安装路径 pipx 会为每个工具(如 Poetry)创…

k8sollama部署deepseek-R1模型,内网无坑

这是目录 linux下载ollama模型文件下载到本地,打包迁移到k8s等无网络环境使用下载打包ollama镜像非k8s环境使用k8s部署访问方式非ollama运行deepseek模型linux下载ollama 下载后可存放其他服务器 curl -L https://ollama.com/download/ollama-linux-amd64.tgz -o ollama-linu…

开源CodeGPT + DeepSeek-R1 是否可以替代商业付费代码辅助工具

开源CodeGPT + DeepSeek-R1 是否可以替代商业付费代码辅助工具 背景与研究目的 在快速发展的软件开发领域,代码辅助工具已成为提高开发效率和质量的关键。然而,商业付费工具如通义灵码和腾讯AI代码助手,尽管功能强大,但其高昂的成本和许可证限制,使得许多企业寻求更具吸…

K8S组件架构

master节点上 kube-apiserver:服务端,提供k8s api接口服务,接受外部请求管理和控制整个集群。 kube-secheduler:调度计算,负责根据资源需求和约束条件,将pod调度到合适的主机上。 kube-controller-manag…

TCN时间卷积神经网络多变量多步光伏功率预测(Matlab)

代码下载:TCN时间卷积神经网络多变量多步光伏功率预测(Matlab) TCN时间卷积神经网络多变量多步光伏功率预测 一、引言 1.1、研究背景和意义 随着全球能源危机的加剧和环保意识的提升,可再生能源,尤其是太阳能&…

每日Attention学习22——Inverted Residual RWKV

模块出处 [arXiv 25] [link] [code] RWKV-UNet: Improving UNet with Long-Range Cooperation for Effective Medical Image Segmentation 模块名称 Inverted Residual RWKV (IR-RWKV) 模块作用 用于vision的RWKV结构 模块结构 模块代码 注:cpp扩展请参考作者原…

3.Python分支和循环:if判断语句、运算符、if-else语句、while循环、for循环、break、continue

1. if 判断语句 if 语句用于根据条件判断执行不同的代码块。语法格式如下: if condition:# 如果 condition 为 True,执行这部分代码statement_1condition 是一个表达式,计算结果为 True 或 False。如果条件为 True,执行缩进的语…

几种K8s运维管理平台对比说明

目录 深入体验**结论**对比分析表格**1. 功能对比****2. 用户界面****3. 多租户支持****4. DevOps支持** 细对比分析1. **Kuboard**2. **xkube**3. **KubeSphere**4. **Dashboard****对比总结** 深入体验 KuboardxkubeKubeSphereDashboard 结论 如果您需要一个功能全面且适合…