linux环境基础开发工具1(vim 、 yum)

目录

前言

Linux编辑器-vim使用

Linux 软件包管理器 yum


前言

       集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。如微软的Visual Studio系列。而我们需要明白 linux下,是将各个功能细分的。

Linux编辑器-vim使用

         vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vim vi 的升级版本,它不仅兼容 vi 的所有指令,而且还有一些新的特性在里面。例如语法加亮,可视化操作不仅可以在终端运行,也可以运行于x window mac os 、windows。
1.vim的基本概念
       
vim一共有12中模式,这里由于水平有限,暂时介绍三种常用模式。
  • 正常/普通/命令模式(Normal mode)
  • 控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode

  • 插入模式(Insert mode)
  • 只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
  • 末行模式(last line mode)
  • 文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。
  • 在命令模式下,shift+: 即可进入该模式。
  • 要查看你的所有模式:打开vim,底行模式直接输入
     :help vim-modes

2.vim的基本操作

进入 vim, 在系统提示符号输入 vim 及文件名称后,就进入 vim 全屏幕编辑画面 :
  • $ vim test.c
  • 不过有一点要特别注意,就是你进入vim之后,是处于[正常模式],你要切换到[插入模式]才能够输入文字。
[ 正常模式 ] 切换至 [ 插入模式 ]
  • 输入a
  • 输入i
  • 输入o
[ 插入模式 ] 切换至 [ 正常模式 ]
  • 目前处于[插入模式],就只能一直输入文字,如果发现输错了字,想用光标键往回移动,将该字删除,可以先按一下「ESC」键转到[正常模式]再删除文字。当然,也可以直接删除。
[ 正常模式 ] 切换至 [ 末行模式 ]
  • shift + ;, 其实就是输入「:
退出 vim 及保存文件 , [ 正常模式 ] 下,按一下「 : 」冒号键进入「 Last line mode , 例如 :
  • : w (保存当前文件)
  • : wq (输入「wq,存盘并退出vim)
  • : q! (输入q!,不存盘强制退出vim)

互相切换:



3.vim正常模式命令集
  • 插入模式
按「 i 」切换进入插入模式「 insert mode 」,按 “i” 进入插入模式后是从光标当前位置开始输入文件;
  • 从插入模式切换为命令模式
按「 ESC 」键。



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



5.简单vim配置
  • 在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。
  • 而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件,如果不存在,则创建之。
  • 切换用户成为自己执行 su ,进入自己的主工作目录,执行 cd ~
  • 打开自己目录下的.vimrc文件,执行 vim .vimrc
常用配置选项 , 用来测试
  • 设置语法高亮: syntax on
  • 显示行号: set nu
  • 设置缩进的空格数为4: set shiftwidth=4


使用插件(建议百度)


Linux 软件包管理器 yum

      

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

yum怎么知道要下载的软件在哪里?

CentOS是可以更换成直接国内的yum源的,具体自行百度。

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

        

查看软件包
通过 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 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念
如何安装软件
通过 yum, 我们可以通过很简单的一条命令完成 gcc 的安装 .
sudo yum install lrzsz
yum 会自动找到都有哪些软件包需要下载 , 这时候敲 "y" 确认安装 .
出现 "complete" 字样 , 说明安装完成 .
注意事项 :
  • 安装软件时由于需要向系统目录中写入内容, 一般需要 sudo 或者切到 root 账户下才能完成.
  • yum安装软件只能一个装完了再装另一个. 正在yum安装一个软件的过程中, 如果再尝试用yum安装另外
  • 一个软件, yum会报错.
  • 如果 yum 报错, 请自行百度.
如何卸载软件
仍然是一条命令 :
sudo yum remove lrzsz


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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM 寄存器学习:(一)arm多种模式下得寄存器

ARM 处理器共有 7 种不同的处理器模式,在每一种处理器模式中可见的寄存器包括 15 个通用寄存器( R0~R14)、一个或两个(User和Sys不是异常模式,没有spsr寄存器)状态寄存器(cpsr和spsr)、程序计数器( PC )。 从上图可以看到&#xf…

组合逻辑电路(四)

目录 采用MSI的组合逻辑电路的分析与设计 采用MSI的组合逻辑电路的设计 用具有n个地址输入端的中规模集成器件实现n变量逻辑函数 用译码器设计组合逻辑电路 例 用数据选择器设计组合逻辑电路 例 用具有n个地址输入端的数据选择器实现m变量逻辑函数(m>n&#…

在webapp中手动发布一个应用

部署应用前,我们要下载Tomcat Tomcat下载 Tomcat官网:Tomcar官网 下载完成后,我们要找到webapp文件 并创建一个文件夹 创建好后,再创建一个后缀为html文件 接下来 我们要打开连接 打开连接后 我们输入我们的web网址 用完后记得…

Qt篇——QChartView获取鼠标停留位置的数值

需求:鼠标停留在QChartView上时,想要计算停留位置的数值。 一开始的方法是想要通过鼠标移动事件计算鼠标在QChartView上的坐标,在换算成数值,后来发现QChartView中除了图表数据,还有坐标轴与坐标轴数值标签占了高度&a…

openwrt中时间同步ntp使用

前言 openwrt开发中,我们可能遇到这样需求,使用路由器支持局域网内设备ntp授时功能。 作者:羽林君 转载授权以及围观:欢迎关注微信公众号:羽林君 或者添加作者个人微信:become_me ntp是什么 NTP&#…

Java实现知乎热点小时榜爬虫

1.效果演示 1.1 热点问题列表 启动程序后&#xff0c;自动展示热点问题&#xff0c;并等待终端输入 1.2 根据序号选择想看的热点问题 输入问题序号&#xff0c;展示回答内容 1.3 退出 输入q即可退出程序 2.源码 2.1 pom.xml <?xml version"1.0" enco…

Frustum PointNets for 3D Object Detection from RGB-D Data(2018)

3D空间的几何和拓扑结构 直接在3D空间操作可以更自然的参数化以及捕捉 重复、平面、对称等几何结构 2. Related Work 3D Object Detection from RGB-D Data Front view image based methods&#xff08;只是介绍了一种表示方法&#xff09; Bird’s eye view based methods&a…

基于centos7的k8s最新版v1.29.2安装教程

k8s概述 Kubernetes 是一个可移植、可扩展的开源平台&#xff0c;用于管理容器化的工作负载和服务&#xff0c;可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态&#xff0c;其服务、支持和工具的使用范围相当广泛。 Kubernetes 这个名字源于希腊语&…

gcc编译初探

记录gcc便编译遇到的问题和积累的经验 文章目录 一、 编译命令编译过程 第二章 遇到问题一、编译的动态库无法正常运行1&#xff09;设置环境变量 LD_LIBRARY_PATH2&#xff09;使用rpath将共享库位置嵌入到程序3&#xff09;将so共享库添加到系统路径 第三章 实用命令一、ldd查…

RN滚动选择组件react-native-wheel-picker-android

安装组件 yarn add react-native-wheel-picker-android我这里的版本为"react-native-wheel-picker-android": "^2.0.6", 示例代码 import { useState } from react import { View } from react-native import { WheelPicker } from react-native-wheel-…

字节飞书前端实习面试

属于是被字节狠狠地拷打了。面试官人很好&#xff0c;让人感觉有很沉稳的感觉。问了一大堆关于底层的问题&#xff0c;属于是把我整麻了。 项目部分问的不多&#xff0c;主要问的都是一些前端涉及的底层知识&#xff0c;层层递进。 1.vue3的响应式是如何实现的 2.computed和wat…

mysql事务(MVCC机制:undo日志)(mysql执行过程:redo日志,Buffer Pool缓存池)

事务 目的&#xff1a;保证数据的最终一致性## 事务的目的 事务的4大特性&#xff08;ACID&#xff09; 1.原子性(Atomicity):由undo log日志来保证 2.一致性(Consistency):使用事务的最终目的&#xff0c;由业务代码正确逻辑保证,比如错误的try-catch 3.隔离性(Isolation):…