Linux环境基础开发工具yum,vim使用

目录

  • 1.Linux 软件包管理器 yum
    • 1.1什么是软件包
    • 1.2关于 rzsz
    • 1.3注意事项
    • 1.4查看软件包
    • 1.5如何安装软件
    • 1.6如何卸载软件
  • 2.Linux开发工具
    • 2.1Linux编辑器-vim使用
      • 2.1.1vim的基本概念
      • 2.1.2vim的基本操作
      • 2.1.3vim正常模式命令集
      • 2.1.4vim末行模式命令集
      • 2.1.5vim操作总结
    • 2.2简单vim配置
      • 2.2.1配置文件的位置
      • 2.2.2常用配置选项,用来测试
      • 2.2.3使用插件

1.Linux 软件包管理器 yum

1.1什么是软件包

在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.
但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安
装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.
软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.
yum(Yellow dog Updater, Modified)是Linux下非常常用的一种包管理器. 主要应用在Fedora, RedHat,Centos等发行版上

1.2关于 rzsz

这个工具用于 windows 机器和远端的 Linux 机器通过 XShell 传输文件.
安装完毕之后可以通过拖拽的方式将文件上传过去.

1.3注意事项

关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!!!
可以通过 ping 指令验证

ping www.baidu.com

1.4查看软件包

通过 yum list 命令可以罗列出当前一共有哪些软件包. 由于包的数目可能非常之多, 这里我们需要使用 grep 命令只
筛选出我们关注的包. 例如:

yum list | grep lrzsz

结果如下:

lrzsz.x86_64 0.12.20-36.el7 @base

注意事项:
软件包名称: 主版本号.次版本号.源程序发行号-软件包的发行号.主机平台.cpu架构.
“x86_64” 后缀表示64位系统的安装包, “i686” 后缀表示32位系统安装包. 选择包时要和系统匹配.
“el7” 表示操作系统发行版的版本. “el7” 表示的是 centos7/redhat7. “el6” 表示 centos6/redhat6.
最后一列, base 表示的是 “软件源” 的名称, 类似于 “小米应用商店”, “华为应用商店” 这样的概念.

1.5如何安装软件

通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装.

sudo yum install lrzsz

yum 会自动找到都有哪些软件包需要下载, 这时候敲 “y” 确认安装.
出现 “complete” 字样, 说明安装完成.
注意事项:
安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外
一个软件, yum会报错.
如果 yum 报错, 请自行百度.

1.6如何卸载软件

仍然是一条命令:

sudo yum remove lrzsz

2.Linux开发工具

2.1Linux编辑器-vim使用

vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window、 mac os、windows。

2.1.1vim的基本概念

vim的三种模式(其实有好多模式,目前掌握这3种即可),分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
正常/普通/命令模式(Normal mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode
插入模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。该模式是我们后面用的最频繁
的编辑模式。
末行模式(last line mode)
文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下,shift+: 即可进入该模
式。要查看你的所有模式:打开vim,底行模式直接输入
:help vim-modes
我这里一共有12种模式:six BASIC modes和six ADDITIONAL mode

2.1.2vim的基本操作

进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

$ vim test.c
不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文
字

[正常模式]切换至[插入模式]

输入a
输入i
输入o

[插入模式]切换至[正常模式]

目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可
以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除

[正常模式]切换至[末行模式]

「shift + ;, 其实就是输入「:]

退出vim及保存文件,在[正常模式]下,按一下「:」冒号键进入「Last line mode」,例如:

: w (保存当前文件)
比特科技: wq (输入「wq」,存盘并退出vim)
: q! (输入q!,不存盘强制退出vim)

2.1.3vim正常模式命令集

插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入插入模式后,是插入新的一行,从行首开始输入文字

从插入模式切换为命令模式

按「ESC」键。

移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的vim是用小写英文字母「h」、「j」、「k」、
「l」,分别控制光标左、下、上、右移一格
按「G」:移动到文章的最后
按「 $ 」:移动到光标所在行的“行尾”
按「^」:移动到光标所在行的“行首”
按「w」:光标跳到下个字的开头
按「e」:光标跳到下个字的字尾
按「b」:光标回到上个字的开头
按「#l」:光标移到该行的第#个位置,如:5l,56l
按[gg]:进入到文本开始
按[shift+g]:进入文本末端
按「ctrl」+「b」:屏幕往“后”移动一页
按「ctrl」+「f」:屏幕往“前”移动一页
按「ctrl」+「u」:屏幕往“后”移动半页
按「ctrl」+「d」:屏幕往“前”移动半页

删除文字

「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符
「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行

复制

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。
「#yw」:复制#个字到缓冲区
「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完
成复制与粘贴功能

替换

「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止

撤销上一次操作

「u」:如果您误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回
复。
「ctrl + r」: 撤销的恢复

更改

「cw」:更改光标所在处的字到字尾处
「c#w」:例如,「c3w」表示更改3个字

跳至指定的行

「ctrl」+「g」列出光标所在行的行号。
「#G」:例如,「15G」,表示移动光标至文章的第15行行首

2.1.4vim末行模式命令集

在使用末行模式之前,请记住先按「ESC」键确定您已经处于正常模式,再按「:」冒号即可进入末行模式.
列出行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号

跳到文件中的某一行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,
再回车,就会跳到文章的第15

查找字符

/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按
「n」会往后寻找到您要的关键字为止。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直
按「n」会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下

保存文件

「w」: 在冒号输入字母「w」就可以将文件保存起来

离开vim

「q」:按「q」就是退出,如果无法离开vim,可以在「q」后跟一个「!」强制离开vim。
「wq」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件

2.1.5vim操作总结

三种模式
正常模式
插入模式
底行模式
vim操作
打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

2.2简单vim配置

2.2.1配置文件的位置

在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,
通常已经存在一个.vimrc文件,如果不存在,则创建之。
切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
打开自己目录下的.vimrc文件,执行 vim .vimrc

2.2.2常用配置选项,用来测试

设置语法高亮: syntax on
显示行号: set nu
设置缩进的空格数为4: set shiftwidth=4

2.2.3使用插件

要配置好看的vim,原生的配置可能功能不全,可以选择安装插件来完善配置,保证用户是你要配置的用户,接下来

安装TagList插件,下载taglist_xx.zip ,解压完成,将解压出来的doc的内容放到~/.vim/doc, 将解压出来
的plugin下的内容拷贝到~/.vim/plugin
在~/.vimrc 中添加: let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let
Tlist_Use_Right_Window=1
安装文件浏览器和窗口管理器插件: WinManager
下载winmanager.zip,2.X版本以上的
解压winmanager.zip,将解压出来的doc的内容放到~/.vim/doc, 将解压出来的plugin下的内容拷贝到
~/.vim/plugin
在~/.vimrc 中添加 let g:winManagerWindowLayout=‘FileExplorer|TagList nmap wm :WMToggle<cr>
然后重启vim,打开~/XXX.c或~/XXX.cpp, 在normal状态下输入"wm", 你将看到上图的效果。
更具体移步:点我, 其他手册,请执行 vimtutor 命令

在这里插入图片描述
结尾:今天的分享到此结束,喜欢的朋友如果感觉有帮助可以点赞三连支持,咱们共同进步!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/486563.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

成功案例|全基因组测序+GWAS联合分析揭示不同种族帕金森病的遗传同质性和异质性

发表期刊&#xff1a;npj Parkinson’s Disease 影响因子&#xff1a;8.7 测序方式&#xff1a;WGS 研究对象&#xff1a;人 1 研究背景 帕金森病&#xff08;PD&#xff09;是一种常见的与年龄相关的神经退行性疾病&#xff0c;其特征是运动迟缓、姿势不稳定、僵硬和静息…

面试八股——redis——缓存——缓存穿透、击穿、雪崩

HR&#xff1a;你在项目中的那些场景用到了redis&#xff1f; 1. 缓存穿透问题 &#xff08;项目中使用的方法&#xff09; 2. 缓存击穿 解决办法1&#xff1a;加互斥锁。大量并发时&#xff0c;先让一个人去查&#xff0c;其他人等着。这样剩下人就可在缓存直接获取值。&#…

软件应用,麻将馆棋牌室计时计费管理系统软件,在计时的时候可以使用灯控器智能控灯

软件应用&#xff0c;麻将馆棋牌室计时计费管理系统软件&#xff0c;在计时的时候可以使用灯控器智能控灯 一、前言 以下软件操作教程以佳易王棋牌计时计费软件V18.0为例说明&#xff0c;其他版本可以参考 件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 …

Perfetto Trace抓取

1. Perfetto简介 Perfetto 是一个用于 Android 系统的性能跟踪工具&#xff0c;可以帮助开发者分析系统性能和调试问题。 Perfetto 是 Android 10 中引入的全新平台级跟踪工具。这是适用于 Android、Linux 和 Chrome 的更加通用和复杂的开源跟踪项目。 在低于Android R的版本上…

高性价比不入耳运动耳机哪个牌子好?精心筛选五大高赞好物推荐

在现在的时代运动耳机已成为我们不可或缺的伴侣&#xff0c;而在众多的运动耳机品牌中&#xff0c;选择一款高性价比、佩戴舒适且不入耳的款式&#xff0c;往往能让我们在运动过程中享受更加纯粹的音乐体验&#xff0c;接下来&#xff0c;就让我们一起探索那些备受好评的不入耳…

RobotFrameWorkRIDE失败重试

一、方法一&#xff1a;修改源码 【方式】https://blog.csdn.net/qq_15158911/article/details/119077562 二、方式二&#xff1a;使用插件 【需要环境】robotframework>4.1Python>3.8RobotFrameWorkRIDE2.X 【操作】 1、安装robotframework-retryfailed pip insta…

CleanMyMac X 4.15.1 for Mac 最新中文破解版 系统优化垃圾清理工具

CleanMyMac X for Mac 是一款功能更加强大的系统优化清理工具&#xff0c;相比于 CleanMyMac 4.15.1来说&#xff0c;功能增加了不少&#xff0c;此版本为4.15.1官方最新中英文正式破解版本&#xff0c;永久使用&#xff0c;解决了打开软件崩溃问题&#xff0c;最新版4.15.1版本…

Java后端项目性能优化实战-群发通知

背景 公司群发通知模块性能存在问题&#xff0c;我进行全面的系统调优&#xff0c;系统处理能力大幅提升。 原发送流程 优化后的发送流程 优化的点 说明&#xff1a;以下问题基本都是压测过程遇到的&#xff0c;有些问题普通的功能测试暴露不了。优化目标&#xff1a;保证高…

Transformer的前世今生 day07(Masked Self-Attention

Masked Self-Attention 掩码自注意力 由于NLP中的生成模型&#xff0c;是一个一个的生成单词&#xff0c; 所以为了让自注意力也实现这个过程&#xff0c;就设计了掩码自注意力 掩码&#xff1a;在自注意力机制中&#xff0c;每个输入位置都会与其他位置进行注意力计算&#x…

Maven从零到放弃:文档学习

学习背景&#xff1a; Maven一直在使用&#xff0c;自己也构建过相应的项目。也对常用的配置和命令有一些了解&#xff0c;也处理过一些相关的问题。例如&#xff1a;项目缺少依赖&#xff1b;版本冲突或其他构建失败的问题。但是一直没有进行系统性的学习。 链接&#xff1a;…

【暴刷力扣】11. 盛最多水的容器

11. 盛最多水的容器 题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线&#xff0c;第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线&#xff0c;使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明&#xf…

Python进阶——数据分析案例

一、数据内容分析 二、需求分析 三、实现步骤 1. 设计一个类&#xff0c;可以完成数据的封装 2. 设计一个抽象类&#xff0c;定义文件读取的相关功能&#xff0c;并使用子类实现具体功能 3. 读取文件&#xff0c;生产数据对象 4. 进行数据需求的逻辑计算 5. 通过PyEcharts进行…

陪诊APP:温暖每一程的健康守护者

在快节奏的现代生活中&#xff0c;我们时常面临健康问题的困扰。无论是日常的体检&#xff0c;还是突发的疾病&#xff0c;就医过程中的种种不便往往让我们感到力不从心。而这时&#xff0c;一款贴心、专业的陪诊APP应运而生&#xff0c;为您的健康之旅提供全方位的陪伴与支持。…

【2024.3.25练习】约瑟夫环

题目描述 题目分析 这种很有规律性的数学题适合寻找递推关系。设为人数为时的答案&#xff0c;在排出第一人&#xff08;即序号为&#xff09;时&#xff0c;该题目可变成求&#xff0c;但是由于是从第人开始算&#xff0c;即得到递推关系式&#xff1a; 我的代码 #include &…

【文档智能 LLM】LayoutLLM:一种多模态文档布局模型和大模型结合的框架

前言 传统的文档理解任务&#xff0c;通常的做法是先经过预训练&#xff0c;然后微调相应的下游任务及数据集&#xff0c;如文档图像分类和信息提取等&#xff0c;通过结合图像、文本和布局结构的预训练知识来增强文档理解。LayoutLLM是一种结合了大模型和视觉文档理解技术的单…

真的睡错了!MLILY梦百合“别睡硬床”发布会传递正确睡眠观

3月21日,MLILY梦百合召开了“别睡硬床”线上发布会,梦百合家居董事长倪张根在世界睡眠日这个特殊时间点发表演讲,传递正确睡眠观念,希望引起国人关注,正视睡眠误区,告别传统硬床。同时希望邀请到更多医生、专家、行业学者,和MLILY梦百合一起共同呼吁“别睡硬床”, 让更多人了解…

STM32学习笔记(5_2)- EXTI外部中断代码

无人问津也好&#xff0c;技不如人也罢&#xff0c;都应静下心来&#xff0c;去做该做的事。 最近在学STM32&#xff0c;所以也开贴记录一下主要内容&#xff0c;省的过目即忘。视频教程为江科大&#xff08;改名江协科技&#xff09;&#xff0c;网站jiangxiekeji.com 本期介…

Vue3:用重定向方式,解决No match found for location with path “/“问题

一、情景说明 在初学Vue3的项目中&#xff0c;我们配置了路由后&#xff0c;页面会告警 如下图&#xff1a; 具体含义就是&#xff0c;没有配置"/"路径对应的路由组件 二、解决 关键配置&#xff1a;redirect const router createRouter({history:createWebHis…

Flask python 开发篇:蓝图的使用

蓝图 引言一、为什么使用蓝图&#xff1f;二、蓝图的概念三、创建蓝图四、注册蓝图五、分享我的creat_app方法六、写在最后 引言 falsk是个轻量级的框架&#xff0c;核心实现简单&#xff0c;但同事可以让开发人员自由的扩展功能。开发中&#xff0c;使用模块导入的方式。 一…

MySQL 8.0 OCP考试通过超高,价格优惠,4月14日开课!

课程介绍 MySQL 是当前最流行和广泛使用的关系型数据库之一。最新发布的MySQL 8是能够提供比往版本更有效的高性能结果查询和更轻松的管理配置。MySQL 8.0 OCP专家认证课程是为DBA和想了解安装和配置MySQL 服务器&#xff0c;设置复制和安全性&#xff0c;执行数据库备份和性能…